0
我使用LEFT JOIN來獲得排名前四的職位(排名在一張表中,發佈信息在另一張表中),以獲得排名前四的職位。我能夠獲得這些信息的方式只是按排名排序。不過,我希望排名前四的結果不按其排名(voting.vote)的順序出現,但按發佈日期(entries.id)排序。我不確定這樣做的最佳方式是什麼。下面是我的SQL語句,當前用於顯示時間範圍內排名前4的項目。使用PHP雙排序SQL結果
$result = mysql_query("SELECT entries.permalink, entries.title, voting.vote FROM entries LEFT JOIN voting ON voting.id = entries.id WHERE date>='$twoweeks' ORDER BY voting.vote DESC LIMIT 4");
有沒有一種方法可以讓我得到了4行的結果,然後被由entries.id訂購或做我需要做的只是這個外部PHP中的數組和這樣的?
下面的編輯是信息從評論中拉出來的解決方案。
SELECT *
FROM
(
SELECT
entries.permalink,
entries.title,
voting.vote,
entries.id
FROM entries
LEFT JOIN voting ON voting.id = entries.id
WHERE date>='$twoweeks'
ORDER BY voting.vote DESC
LIMIT 4
) t
ORDER BY id;
我試過了,仍然沒有得到來自查詢結果。任何其他想法?謝謝'mysql_query(「SELECT * FROM(SELECT entries.permalink,entries.title,voting.vote FROM entries LEFT JOIN voting on voting.id = entries.id WHERE entries.category LIKE'%For Sale%'AND date> =' $ twoweeks'ORDER BY voting.vote DESC LIMIT 4)t ORDER BY entries.id「);' – Joffroi
我實際上發現可能是爲什麼一切都不起作用。我還需要在我的內部SELECT中查詢我的ID號以在外部ORDER BY中使用。基本上,我只需要在內部選擇中添加entries.id。 – Joffroi