我有一张这样的表:
Table_id | Name | Mark | IDTable
-----------+----------+---------+------------
1 | John | 12 | NULL
2 | Alex | 15 | NULL
3 | Josh | 11 | NULL
4 | Merry | 17 | 2
5 | Gary | 13 | NULL
6 | Jimmy | 18 | 1
我想将表格排序为:
Table_id | Name | Mark | IDTable
-----------+----------+---------+------------
1 | John | 12 | NULL
6 | Jimmy | 18 | 1
2 | Alex | 15 | NULL
4 | Merry | 17 | 2
3 | Josh | 11 | NULL
5 | Gary | 13 | NULL
我的意思是,首先尝试按Table_ID
排序,但如果IDTable
等于Table_id
在那一行下显示它。
答案 0 :(得分:4)
对于您的样本数据,COALESCE可以运作:
ORDER BY COALESCE(IDTable, Table_id )
, IDTable