如果我在一个表中有两种类型的数据,即 ID1 或 ID2 为空,我如何选择 ID1 不为空的行并且首先是最新插入的行,然后是 ID2 不为空的数据?
例子:
Data | ID1 | ID2
1 | ok |
2 | | ok
3 | ok |
并返回:
Data | ID1 | ID2
3 | ok |
1 | ok |
2 | | ok
非常感谢你。
试试这个:
SELECT *
FROM tablename
ORDERBY ID1 DESC, ID2 DESC
SELECT *
FROM tablename
ORDERBY ID1 DESC, ID2
如果 ID1 和 ID2 为“ok”或为空,则 Mahmoud 的答案是正确的。如果没有,说它是另一个表的 ID,那么你可以这样做:-
SELECT *
FROM tablename
ORDER BY ID1='' DESC, ID2='' DESC, Data DESC