我的 SQL 有问题。我有一个看起来像这样的表(名为“Regions”):
我想做的是用区域“旁边”的子区域对这个表进行排序。在此示例中,魁北克 (9) 和安大略 (10) 是加拿大 (7) 的子区域,因此我想在加拿大之后立即获取它们。我不知道它是否愚蠢或我的 SQL 太生锈了,但我找不到这样做的方法....顺便说一下,将使用此数据库的网站是 CakePHP 的,如果可以的话帮助!(行为或其他内置模块,我不知道)。
最佳答案
select s.id, s.name, r.*
from Regions r
left join Regions s
on s.id = r.sub_region
order by(coalesce(s.id, r.id), r.id)
编辑:我修改了连接查询,我还没有尝试过,但你能试一试吗,我认为语法应该适用于 mysql
关于php - SQL - 按子字段重新分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217978/