Задать вопрос
@Andryushok
Админ

Что означает MAX(type) в коротком запросе TSQL?

Подскажите, что означает 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
  • Вопрос задан
  • 45 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
TSQL достаточно строг и поэтому он не допускает полей, которые не участвуют ни в группировке ни в агрегации.

Что собственно логично.

Для "обхода" этой строгости болтающийся рядом id юзера его email при группировке по id - приходится или включать в группировку или же просить min/max (заведомо зная что это якобы лишнее)

Ну а так - можно попробовать представить что же показать в результате запроса простой таблицы id-user-role при группировке по role )
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы