2012-07-16 55 views
0

如果我在表中有兩種類型的數據,它們是ID1或ID2爲空,我如何選擇ID1不是空的行,也是最先插入的行,然後跟隨ID2數據不爲空的數據?SQL php選擇優先

例子:

Data | ID1 | ID2 

1 | ok | 

2 |  | ok 

3 | ok | 

和回報:

Data | ID1 | ID2 

3 | ok | 

1 | ok | 

2 |  | ok 

非常感謝你。

回答

1

試試這個:

SELECT * 
FROM tablename 
ORDERBY ID1 DESC, ID2 DESC 
+0

'ORDER BY DESC ID1,ID2 DESC' – 2012-07-16 11:24:10

+0

非常感謝你的回答,怎樣,如果我希望讓數據以最新插入的ID順序?對不起,我忘了在我的問題中提到這一點,我的歉意。 – 2012-07-16 11:31:59

+2

只需將「Data DESC」添加到 – Waygood 2012-07-16 11:34:22

1
SELECT * 
FROM tablename 
ORDERBY ID1 DESC, ID2 
+0

非常感謝。 – 2012-07-16 11:37:58

1

如果ID1和ID2是 'OK' 或爲空,則馬哈茂德的答案是正確的。如果不是,說其從另一個表中的ID,那麼你可以這樣做: -

SELECT * 
FROM tablename 
ORDER BY ID1='' DESC, ID2='' DESC, Data DESC 
+0

是馬哈茂德的回答是有效的,同時也感謝你的幫助。 – 2012-07-16 11:37:40