基于零合并SQL表行

时间:2014-08-21 14:15:50

标签: mysql sql

请帮我查一下这张表

11:00 | 5 | 0 |0 |0
11:00 | 0 | 4 |0 |0
11:00 | 0 | 0 |3 |0
11:00 | 0 | 0 |0 |8
11:05 | 7 | 0 |0 |0
11:05 | 0 | 2 |0 |0
11:05 | 0 | 0 |6 |0
11:05 | 0 | 0 |0 |4

要:

11:00 | 5 | 4 |3 |8
11:05 | 7 | 2 |6 |4

您可以放心地假设每行只有一个大于0的值。 为了便于测试,这里是表格创建:

CREATE TABLE MyTable (Time NVARCHAR(10), Value1 INT, Value2 INT, Value3 INT, Value4 INT)
INSERT INTO MyTable VALUES ('11:00',5,0,0,0)
INSERT INTO MyTable VALUES ('11:00',0,4,0,0)
INSERT INTO MyTable VALUES ('11:00',0,0,3,0)
INSERT INTO MyTable VALUES ('11:00',0,0,0,8)
INSERT INTO MyTable VALUES ('11:05',7,0,0,0)
INSERT INTO MyTable VALUES ('11:05',0,2,0,0)
INSERT INTO MyTable VALUES ('11:05',0,0,6,0)
INSERT INTO MyTable VALUES ('11:05',0,0,0,4)

1 个答案:

答案 0 :(得分:2)

select Time, 
       max(Value1) as value1,
       max(Value2) as value2,
       max(Value3) as value3,
       max(Value4) as value4
from MyTable 
group by Time