我想在mysql workbench中创建一个列,当多个列(例如condition、trial、subject、behavior type…)相同时,其中有一个行为持续时间的总和。
我对sql的工作还比较陌生,到目前为止,我主要是用它来提取数据。这是可能的吗?如果是,我该怎么办?
谢谢:)
编辑-数据应该是这样的
Condition Trial Group Subject Behaviour Duration **TotalDuration**
np 1 XX GBF132 interact 00:00:42
np 1 XX GBF132 interact 00:00:17
yp 1 ZZ HJR543 interact 00:01:03
yp 1 ZZ HJR543 interact 00:00:26
因此,在同一个人的试验中可能会有多个相互作用,我想确定每个试验的总体相互作用持续时间。
但是,我有多个受试者/行为/组每个试验和条件,所以需要一种方法来轻松地计算每个行为的总持续时间时,条件,试验,组,受试者,行为是相同的。
我希望这能让事情更清楚!
1条答案
按热度按时间2hh7jdfx1#
在最近的mysql版本中,他们增加了对窗口函数的支持。看来这些函数可以用来解决你的问题。我没有测试它,但它的用法有点像:
无论如何,对于mysql的旧版本,以下内容可能适用于您:
但那样你就失去了“细节”。要复制窗口函数的工作方式,您需要使用以下内容:
下面是我玩过的代码片段:http://sqlfiddle.com/#!9/e002f2/12/0