Как использовать имея на неагрегированном поле в MySQL? - PullRequest
0 голосов
/ 10 сентября 2010
select xx as fieldA from ... group by xxx having fieldA is not null

Я обнаружил, что having не имеет никакого эффекта

Ответы [ 2 ]

0 голосов
/ 07 мая 2017

Вы должны включить все неагрегированные столбцы в GROUP BY.5.7.5 ввел SQL_MODE из only_full_group_by для обеспечения этого (не жалуясь на некоторые случаи, когда это действительно нормально).

Если у вас есть неагрегированный столбец, код может предоставитьлюбое значение, которое ему нравится для такого столбца (xx в вашем случае).Учитывая это, тогда как HAVING может иметь какой-либо рациональный смысл.

Это не ошибка;это ошибка пользователя.

0 голосов
/ 10 сентября 2010

Может быть:

 select xx as fieldA from ... where fieldA is not null group by xxx having 

поможет вам

...