我對MySQL的查詢很熟悉,但我有一個棘手的問題,我不知道該怎麼做。有沒有辦法告訴系統「任何匹配的X條件第一,否則順序正常。」例如,在一個表中posts
與領域(post_id, author_id, timestamp)
我知道該怎麼辦......通過單個匹配對MySQL查詢進行排序,然後通常是
mysql_query("SELECT * FROM posts ORDER BY timestamp");
但是,有沒有辦法讓某個用戶的帖子(比如,author_id = 5
)在結果頂部顯示,然後在那之後按時間戳排序?要清楚:我不想按author_id
排序,我只想分離author_id
爲5的帖子,然後按timestamp
排序。
有沒有辦法做到這一點?我試過了,
mysql_query("SELECT * FROM posts ORDER BY author_id = 5, timestamp");
......但它似乎沒有工作。
它似乎正在工作,除了它將匹配的行('author_id = 5'行)放在結果的底部而不是頂部。 「FIELD()」後面的一個'DESC'運行得非常好。謝謝! – Nerrolken