php - SQL - 按子字段重新分组

标签 php mysql sql cakephp

我的 SQL 有问题。我有一个看起来像这样的表(名为“Regions”):

SQL table : 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/

相关文章:

php - LIKE 运算符中的多个条件

SQL:Bit 或 char (1) 哪个更好

SQL Server 聚集索引 - 索引问题的顺序

php - 更新表中显示错误的字段

php - 如何使用 php 在数据库中插入 ISO-8859-1 字符集值

php - 在命名空间 B 的函数中使用命名空间 A 的函数

PHP/MySQL 中的 SQL Server 'FOR XML PATH'

javascript - Node.js 类型错误 : Cannot read property 'host' of undefined

java - 如何根据搜索选项中的多个值进行搜索

mysql - 如何连接多个表,确保将较小的表扩展到较大的表