Mysql SQL:按rowID排序,然后根据rowID按列排序

Mysql SQL:按rowID排序,然后根据rowID按列排序,mysql,sql,database,sorting,sql-order-by,Mysql,Sql,Database,Sorting,Sql Order By,我有以下“部门”表: +-------+-------------+-------------------+ | rowid | department | parent_department | +-------+-------------+-------------------+ | 10 | Main Office | NULL | +-------+-------------+-------------------+ | 11 | Back Offi

我有以下
“部门”
表:

+-------+-------------+-------------------+
| rowid | department  | parent_department |
+-------+-------------+-------------------+
| 10    | Main Office | NULL              |
+-------+-------------+-------------------+
| 11    | Back Office | 10                |
+-------+-------------+-------------------+
| 12    | Commercial  | NULL              |
+-------+-------------+-------------------+
| 13    | Outdoor     | NULL              |
+-------+-------------+-------------------+
| 14    | Beach       | 13                |
+-------+-------------+-------------------+
| 15    | Gardening   | 13                |
+-------+-------------+-------------------+
| 16    | Accounting  | 10                |
+-------+-------------+-------------------+
我想根据rowid和家长部门订购:

+-------+-------------+-------------------+
| rowid | department  | parent_department |
+-------+-------------+-------------------+
| 10    | Main Office | NULL              |
+-------+-------------+-------------------+
| 11    | Back Office | 10                |
+-------+-------------+-------------------+
| 16    | Accounting  | 10                |
+-------+-------------+-------------------+
| 13    | Outdoor     | NULL              |
+-------+-------------+-------------------+
| 14    | Beach       | 13                |
+-------+-------------+-------------------+
| 15    | Gardening   | 13                |
+-------+-------------+-------------------+
| 12    | Commercial  | NULL              |
+-------+-------------+-------------------+
因此,对于每个rowid,查找是否存在
'parents\u departments'
,并按如下所示对其进行排序

请注意,我尚未设计当前表,遗憾的是,我没有更改它的权限

请尝试以下操作:

SELECT rowid, department, parent_department
  FROM departments
 ORDER BY IFNULL(parent_department, rowid), rowid;

@shmosel…不错…但我在本地和返回的rowid上试过,顺序是10,11,16,12,13,14,15@AnkitAgrawal若父组之间应该有任何排序,OP并没有指定它。我的假设是这不重要。