Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择“查询”以从间隔表中获取值_Mysql_Sql - Fatal编程技术网

Mysql 选择“查询”以从间隔表中获取值

Mysql 选择“查询”以从间隔表中获取值,mysql,sql,Mysql,Sql,我有一个包含这些值的表 id colA colB colC 55 00:00:00 NULL NULL 56 01:01:02 0.00007 0.00007 57 02:01:02 0 0.00007 58 03:01:02 0.00006 0 59 15:01:02 0.00012 0.00006 60 16:01:02 -0.00008 0.00012 61 20:59:02 -0.00006 -0.0

我有一个包含这些值的表

id colA     colB      colC  
55 00:00:00 NULL      NULL  
56 01:01:02  0.00007   0.00007
57 02:01:02  0         0.00007
58 03:01:02  0.00006   0     
59 15:01:02  0.00012   0.00006
60 16:01:02 -0.00008   0.00012
61 20:59:02 -0.00006  -0.00008
62 21:05:01  0.00005  -0.00006
63 22:01:02 -0.00013   0.00005
64 23:01:02  0.00004  -0.00013
65 00:00:01 -0.00012   0.00004
66 01:01:02 -0.00004  -0.00012
67 02:01:02  0.00006  -0.00004
68 03:01:02  0.00004   0.00006
69 15:01:02 -0.00004   0.00004
70 16:01:02  0        -0.00004
71 23:01:02 -0.00014   0      
72 00:00:01 -0.00011  -0.00014
73 01:01:02 -0.00004  -0.00011
74 02:01:02  0.00011  -0.00004
75 03:01:02  0.00005   0.00011
76 15:01:02  0         0.00005
77 16:01:02 -0.00008   0      
78 23:01:02  0        -0.00008
79 00:00:01  0.00003   0      
80 01:01:02 -0.00009   0.00003
81 02:01:02 -0.00007   0      
82 03:01:02 -0.00007  -0.00016
83 15:01:02  0.00044  -0.00007
84 16:01:02  0         0.00044
现在我想得到colb的和,每次colA值变为15:01时的colc。。。 输出应该如下所示

colA            sum(colB)       SUM(colC)
 15:01:01.582   0.0002500   0.0002000
 15:01:01.582   -0.0002800  -0.0001200
 15:01:01.582   -0.0001300  -0.0001700
 15:01:01.582   0.0001600   -0.0002800

任何人都可以帮我完成这个查询。

您可以通过后面出现的
18:01
值来描述每一行。然后你可以按这个号码分组

在MySQL中,获取此数字的最简单方法是使用变量:

select grp, max(cola), sum(colb), sum(colc)
from (select t.*,
             (@grp := @grp + (cola = '18:01')) as grp
      from table t cross join (select @grp := 0) vars
      order by id desc
     ) t
group by grp;

你能不能更准确地解释一下你所说的“间隔时间”是什么意思。这可以用多种方式来解释。也许您可以在表中提供预期的输出?@turphile…每次colA值更改为18:01时的总和(colb),但应该从最后16:01开始。我没有使用任何主键here@Turophile...please请看,我已经添加了所需的输出。我不明白如何从该数据集生成结果集。也许换一个更小/更简单的?@草莓…我已经编辑了我的帖子…我不确定它是否精确…再次抱歉亲爱的