将具有相同值的多行分组为mysql

时间:2019-02-08 05:02:30

标签: mysql sql group-by

我有一个特定的结果集,我需要在userId上将它们分组在一起。

例如

userId  2019-01-15  2019-01-16
------------------------------
132     0           30_140
132     30_140      0

必填输出:

userId  2019-01-15  2019-01-16
------------------------------
132     30_140      30_140

由于值包含非数字字符,因此SUM无法正常工作。

1 个答案:

答案 0 :(得分:4)

如果所有的空值都是0NULL,则可以使用MAX

SELECT userID, MAX(`2019-01-15`) AS `2019-01-15`, MAX(`2019-01-16`) AS `2019-01-16`
FROM test
GROUP BY userID

输出:

userID  2019-01-15  2019-01-16
132     30_140      30_140

Demo on dbfiddle