У меня есть таблица MySQL t1 текстовое поле f1 . У меня есть этот запрос, чтобы найти 100 самых распространенных значений f1 вместе с их частотой:
SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 ORDER BY c DESC LIMIT 100;
Теперь мне нужен запрос, чтобы выяснить, какие самые длинные значения f1 встречаются чаще всего. То есть я хочу сначала упорядочить записи таблицы по частотам (как это делает запрос выше), а затем я хочу упорядочить их по длине и захватить первые 100. Я попытался сделать это с этим запросом, но он не возвращает что я хочу, это просто возвращает записи с самыми длинными значениями f1 (большинство из них только с 1 появлением):
SELECT f1, LENGTH(f1) AS l, COUNT(*) AS c FROM t1 GROUP BY f1, LENGTH(f1) ORDER BY l DESC, c DESC LIMIT 100;
В моей таблице более 44 миллионов записей на случай, если это имеет значение.
Спасибо.