Я хотел бы выбрать все строки из таблицы, которые содержат 50 наиболее часто используемых значений столбца. Я попытался использовать такое объединение, но, похоже, мой выбор LEFT JOIN ошибочен. Внутренняя часть заявления кажется прекрасной. Что я должен изменить в своем заявлении?Выбор строк с наиболее частыми значениями одного столбца 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 строк. Странно, когда я изменил лимит внутри внутреннего выбора на 5, количество возвращенных строк не изменилось. – pedmillon
При использовании 'left join', результаты будут одинаковыми, некоторые из них просто будут иметь идентификатор' null' из 't2' (если вы его показывали). Возможно, образцы данных и ожидаемые результаты помогут ... – sgeddes