我有以下表格的片段:
邮票|组|值
123 | 1 | 4
124 | 2 | 5
124 | 2 | 6
125 | 4 | 7
125 | 4 | 8
125 | 5 | 9
我似乎找不到能给我这个结果的查询:
邮票| value1 |值2
124 | 5 | 6
125 | 7 | 8
125 | 9 |空值
因此,基本上,所有带有相同戳记的结果都按“组”分组显示。
这可能吗 ?我尝试使用子查询,“分组依据”和“具有”语句来完成此操作,但是我似乎找不到正确的查询。
提前thnx!
最佳答案
select stamp,
SUBSTR(`values`,1,INSTR(`values`,',')-1) as value1,
NULLIF(TRIM(',' FROM SUBSTR(`values`,INSTR(`values`,',')+1)),'') as value2,
`values`
FROM
(
SELECT stamp, `group`,CONCAT( GROUP_CONCAT(`value`) ,',') AS `values`
FROM stamps
GROUP BY stamp, `group`
) aggr
Fiddle Demo
仅当每个组仅具有
关于mysql - MySQL显示分组结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25776684/