2011-03-08 58 views
1

選擇爲了我有這個變量的PHP/MySQL給出ID

$id = 12;

我想以任何順序但使用id = 12的第一個結果行選擇從我的表中的所有行。我怎樣才能做到這一點?

+0

[搜索在特定的順序呈現結果?]的可能重複(http://stackoverflow.com/questions/3748688/search-result-in-presented-in-specific-order) – ajreal 2011-03-08 15:37:43

回答

2
SELECT ... ORDER BY id = 12 DESC, id 
+1

我想補充解釋中,對於具有布爾結果(「TRUE」或「FALSE」)的每一行評估「id = 12」,並且由於「FALSE」在「TRUE」之前排序,因此「DESC」顛倒順序, 'id = 12'返回'TRUE'首先。 – jswolf19 2011-03-08 15:35:12

+0

我從來沒有見過。看起來很酷,如果它工作 – 2011-03-08 15:41:45

+0

在MySQL中,TRUE用整數1標識,FALSE用整數0標識。 – Hammerite 2011-03-08 15:54:38

2

您可以先選擇id = 12,然後選擇其他(id!= 12)。 對於id的索引,它不應該比要求整個表的速度慢一點。