0

如果我在一个表中有两种类型的数据,即 ID1 或 ID2 为空,我如何选择 ID1 不为空的行并且首先是最新插入的行,然后是 ID2 不为空的数据?

例子:

 Data | ID1 | ID2

 1    | ok  | 

 2    |     |  ok

 3    | ok  |

并返回:

Data | ID1 | ID2

 3   | ok  |

 1   | ok  | 

 2   |     |  ok

非常感谢你。

4

3 回答 3

1

试试这个:

SELECT * 
FROM tablename
ORDERBY ID1 DESC, ID2 DESC
于 2012-07-16T11:21:24.903 回答
1
SELECT * 
FROM tablename
ORDERBY ID1 DESC, ID2 
于 2012-07-16T11:31:43.967 回答
1

如果 ID1 和 ID2 为“ok”或为空,则 Mahmoud 的答案是正确的。如果没有,说它是另一个表的 ID,那么你可以这样做:-

SELECT * 
FROM tablename
ORDER BY ID1='' DESC, ID2='' DESC, Data DESC
于 2012-07-16T11:32:11.890 回答