У меня следующее соотношение:SQL QUERY, что не может появиться в условии наличия?
R(A, B, C, D, E)
и следующий запрос
SELECT ...
FROM R
WHERE ...
GROUP BY B, E
HAVING ???
То, что не может появиться в статье, имеющей ?: MAX (С), COUNT (А), D, В
Я считаю, что все они работают, но я немного сомневаюсь в B. MAX (C) работает, потому что мы можем связать максимальное значение столбца c в группе. То же самое для COUNT (A). D также работает. Это просто атрибут, но странно привязывать член предложения GROUP BY.
D не должен работать. Поскольку вы используете 'GROUP BY B, E', поэтому в HAVING все остальные столбцы, отличные от B, E, должны появляться с агрегатными функциями, поэтому MAX (c) и COUNT (a) должны работать, а D не должны. D будет вызывать ошибку, как «не группа по выражению» –
. Посмотрите, что D = возраст, и вы просто хотите, чтобы возраст был меньше 30. Как вы ограничиваете это в каждой группе. Я думал, что предложение HAVING - это то же самое, что и предложение WHERE. – TheMathNoob
ИМЕЕТСЯ только с GROUP BY, и это означает, что where_aggregate_functions_of_group_by, чтобы вы могли использовать «МАЛЬЧИК» (возраст) <30'. В разделе WHERE вы не можете использовать 'WHERE MAX (age) <30'. –