MySQL не поддерживает оконные функции (*). Есть то, что мы называем «оконной функцией бедняка» в форме GROUP_CONCAT () .
Существует множество приемов, которые используются GROUP_CONCAT
для эмуляции оконных функций. Они не такие красивые (синтаксически) и иногда слишком ограничены. Я написал несколько. Смотрите мой пост в блоге с жалобами на отсутствующие оконные функции и ссылками на различные решения на основе GROUP_CONCAT
.
В частности, выбор конкретных неагрегированных данных столбцов в GROUP BY и SQL: выбор топ-N записей на группу, другое решение может вас заинтересовать и дать вам толчок для начала.
Что вы должны отметить GROUP_CONCAT()
:
- Можешь использовать
DISTINCT
- Можешь использовать
ORDER BY ... ASC/DESC
- Можно установить
SEPARATOR
- Как и любая функция агрегирования, она отбрасывает значения NULL; много трюков на этом.
(*) Добавлена поддержка оконных функций в MySQL 8