MySQL如何分组成行的子组

时间:2017-04-07 20:31:59

标签: mysql sql group-by

我有这个数据库:( note id是唯一的

enter image description here

我想要得到这个:

enter image description here

实现此目的的有效SQL查询是什么?

2 个答案:

答案 0 :(得分:2)

SELECT 
    DISTINCT
    foo2.group_id AS group_id,
    if(foo1.group_id = foo2.group_id, foo1.id, NULL) AS id,
    if(foo1.group_id = foo2.group_id, foo1.some_attr, NULL) AS some_attr
 FROM mytable AS foo1
    JOIN
    (SELECT DISTINCT group_id FROM mytable) as foo2        
    ORDER BY group_id, id

答案 1 :(得分:1)

您似乎将结果集与结果集的格式混合在一起。 SQL结果集是一致行的表。最接近的是更改SELECT语句中列名的顺序。您必须在演示时添加自己的换行符。