2
使用下面的示例,這不是確切的代碼,只是我試圖實現的一個示例:我可以使用從SELECT子句中的子查詢返回的列來對結果進行排序嗎?
該查詢將用於返回五個最常訪問的頁面,該頁面有多少次訪問註冊。
SELECT
page_instance.name AS 'page name',
/* Sub Query I wish to sort by */
(
SELECT COUNT(*)
FROM visitor_event
WHERE page_instance.id = visitor_event.item_id
) AS 'visit count'
FROM item_event
LEFT JOIN visitor_event_type ON visitor_event_type.id = visitor_event_type_id
LEFT JOIN page_instance ON page_instance.id = visitor_event.item_id
LEFT JOIN page ON page.id = page_instance.page_id
WHERE visitor_event_type.handle = 'viewed'
AND page_instance.name != 'NULL'
GROUP BY page.id
ORDER BY 'visit count' DESC /* Where its going wrong */
LIMIT 5
當前,查詢運行時沒有錯誤,但不會按「訪問計數」列進行排序。
我見過類似的查詢,把子查詢放在FROM子句中。我不明白這個原因,因爲我可能想要其他子查詢(對於最大/最小結果等)的其他列。我不反對這個想法,我只是不明白其所以然它
心靈=燒斷。那很快。謝謝。我實際上不能接受這個答案9分鐘。 – Mongo0se
@ Mongo0se歡迎.. –