Подскажите, что означает MAX(type)?
MAX - возвращает максимальное значение.
Но не понятно, для чего MAX используется в конкретном запросе:
SELECT maker, MAX(type)
FROM product
GROUP BY maker
HAVING COUNT(DISTINCT type) = 1 AND COUNT(model) > 1
Таблица Product:
maker model type
A 1232 PC
A 1233 PC
A 1276 Printer
A 1298 Laptop
A 1401 Printer
A 1408 Printer
A 1752 Laptop
B 1121 PC
B 1750 Laptop
C 1321 Laptop
D 1288 Printer
TSQL достаточно строг и поэтому он не допускает полей, которые не участвуют ни в группировке ни в агрегации.
Что собственно логично.
Для "обхода" этой строгости болтающийся рядом id юзера его email при группировке по id - приходится или включать в группировку или же просить min/max (заведомо зная что это якобы лишнее)
Ну а так - можно попробовать представить что же показать в результате запроса простой таблицы id-user-role при группировке по role )