简体   繁体   English

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

[英]group multiple rows with the same value mysql

I have a certain result-set and I need to group them together on userId. 我有一个特定的结果集,需要在userId上将它们组合在一起。

eg 例如

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

Required output: 要求的输出:

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

Since values contain non-numeric characters, SUM won't work. 由于值包含非数字字符,因此SUM将不起作用。

If the empty values are all 0 or NULL you can just use MAX : 如果空值全为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

Output: 输出:

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

Demo on dbfiddle dbfiddle上的演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM