我想從表中選擇列中包含50個最頻繁值的所有行。我試圖使用這樣的連接,但似乎我選擇左連接是錯誤的。聲明的內部看起來很好。我在聲明中應該改變什麼?選擇一列中最頻繁的值的行MySQL
SELECT col1, col2
FROM tbl as t1
LEFT JOIN (
SELECT id
FROM tbl
WHERE id > 123
AND id < 987654
GROUP BY col1
ORDER BY COUNT(id) DESC
LIMIT 50
) AS t2
ON t1.id = t2.id
有什麼不對您的查詢?您是否嘗試將其更改爲「內部連接」? – sgeddes
內部連接只返回50行的c。奇怪的是,當我將內部select中的限制更改爲5時,返回的行數沒有更改。 – pedmillon
當使用'left join'時,結果將是相同的,有些人只會從't2'中得到'null'(如果你正在顯示的話)。也許樣本數據和預期的結果將有助於... – sgeddes