MySQL如何分组到行的子组中
我有这个数据库:(注意MySQL如何分组到行的子组中,mysql,sql,group-by,Mysql,Sql,Group By,我有这个数据库:(注意id是唯一的) 我正在努力做到这一点: 要实现这一点,什么是高效的SQL查询?您似乎将结果集与结果集的格式混合在一起。SQL结果集是具有一致行的表。最接近的方法是在SELECT语句中更改列名的顺序。您必须在演示时添加自己的换行符。您似乎将结果集与结果集的格式混合在一起。SQL结果集是具有一致行的表。最接近的方法是在SELECT语句中更改列名的顺序。在演示时,您必须添加自己的换行符。您真的不想在SQL中执行这种类型的操作。最好是在应用层进行。可能,但确实不值得。最好在应用
id
是唯一的)
我正在努力做到这一点:
要实现这一点,什么是高效的SQL查询?您似乎将结果集与结果集的格式混合在一起。SQL结果集是具有一致行的表。最接近的方法是在SELECT语句中更改列名的顺序。您必须在演示时添加自己的换行符。您似乎将结果集与结果集的格式混合在一起。SQL结果集是具有一致行的表。最接近的方法是在SELECT语句中更改列名的顺序。在演示时,您必须添加自己的换行符。您真的不想在SQL中执行这种类型的操作。最好是在应用层进行。可能,但确实不值得。最好在应用程序端(Java/php/…)使用一个简单的order by for
group\u id
,然后遍历结果集。如果group\u id
发生更改,请应用标题。您实际上不想在SQL中执行这种类型的操作。最好是在应用层进行。可能,但确实不值得。最好在应用程序端(Java/php/…)使用一个简单的order by forgroup\u id
,然后遍历结果集。如果组id
更改,请应用标题。
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