我使用這個查詢:的MySQL凡結果是無序
SELECT * FROM `challenges` WHERE id IN (#, #, #, #)
凡#的可用單排4關聯的ID號。這很有效,因爲它允許我在一個查詢中從表中抽出4行,但是有一個奇怪的問題。我不知道爲什麼它會這樣做,但結果中行的順序與查詢中的順序不同。例如:
SELECT * FROM `challenges` WHERE id IN (108, 208, 134, 142)
我希望他們能夠按照這個順序出來,但他們反而出來是這樣的:
108,134,142,208
我發現的唯一的事情是, challenge表中的每一行都有一個名爲「first_recorded」的字段,並且該查詢出來的行的順序按該字段排序,按升序排列。有沒有辦法強制查詢以與訂購ID相同的順序排列結果?
http://stackoverflow.com/questions/4858828/sql-where-in-sort-by-order我認爲這是一個類似於你的問題。 – prakashkut
哎呀,對不起。我搜索了大約10分鐘,但找不到任何東西(誠然,我的谷歌搜索技能並不是那麼好)。當我輸入問題標題時,我甚至沒有想到。 – HaLo2FrEeEk