我有以下表格片段:
stamp | group | value 123 | 1 | 4 124 | 2 | 5 124 | 2 | 6 125 | 4 | 7 125 | 4 | 8 125 | 5 | 9
我似乎找不到给我这个结果的查询:
stamp | value1 | value2 124 | 5 | 6 125 | 7 | 8 125 | 9 | null
基本上,所有具有相同标记的结果都会显示,并按“组”分组。 这可能吗 ?我尝试使用子查询、“group by”和“having”语句来完成此任务,但我似乎找不到正确的查询..
提前致谢!
最佳答案
我认为你或多或少需要这样的东西:
SELECT stamp, `group`, GROUP_CONCAT(`value`) AS `values`
FROM stamps
GROUP BY stamp, `group`
key 是GROUP_CONCAT .
根据您的数据,输出将为
+-------+-------+--------+
| stamp | group | values |
+-------+-------+--------+
| 123 | 1 | 4 |
| 124 | 2 | 5,6 |
| 125 | 4 | 7,8 |
| 125 | 5 | 9 |
+-------+-------+--------+
关于MySQL 显示分组结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25776684/