mysql - 基于零合并 SQL 表行

标签 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)

最佳答案

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

关于mysql - 基于零合并 SQL 表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428697/

相关文章:

php - 获取Mysql中注释字段中存储为字符串的jsonObject

mysql - SQL 批量更改日期格式

php - fatal error : Call to a member function execute() on a non-object PDO Working

sql - 从 Oracle SQL 过程中的表执行 SQL 语句

sql - SSRS View 布局不同于打印布局

sql - 查询获取不活跃用户

php - MySQL 错误 1064 : SQL syntax error in SELECT statement

php - 用PHP输出一个负的MySQL时间值

mysql - 如何使用 MySQL 选择父/子关系的最后一行匹配条件的最后一行

sql - 从 SQL 文件中 grep 一个句子