我對MySQL相對來說比較新,而且我很難嘗試按三列對錶進行排序。MySQL按照DESC順序排列三列
這是一個已經存儲數千視頻數據的數據庫,我想在我的網站上創建一個標籤,向用戶列出推薦的視頻。
如果可能的話,最好只對最近添加的100個最近添加的視頻(記錄)進行排序,這些視頻(記錄)已由「密鑰」列自動增加。
在100條有序記錄中,我只會從數據庫中實際檢索5條記錄,並將它們存儲到PHP變量中。
我想讓它按以下方式對列進行排序。
key DESC
rating_score DESC
view_count DESC
我以前使用另一個MySQL語句,按兩列工作排序視頻。
SELECT `title`, `duration`, `rating_score`, `imageurl`, `player_url` FROM (SELECT * FROM `archived_videos` ORDER BY `key` DESC LIMIT 0,210) AS ttbl ORDER BY `rating_score` DESC
我上面的MySQL語句按三列排序的當前版本和修改版本如下所示。
SELECT `title`, `duration`, `rating_score`, `imageurl`, `player_url` FROM ((SELECT * FROM `archived_videos` ORDER BY `key` DESC LIMIT 0,100) AS ttbl (SELECT * FROM `archived_videos` ORDER BY `view_count` DESC) AS ttbl) ORDER BY `rating_score` DESC LIMIT 0,5
如果有人能流利地使用MySQL,可以看看這個,你會成爲一個救命的人。
這評論主要針對想回答的人。這個問題似乎有點誤導。期望的結果是(我認爲)100個最新的評分中有5個評分最高的評分。只是通過'key'列進行排序不會得到期望的結果。 –
@ G-Nugget +1 ...感謝您的澄清。 –