2010-09-10 3 views

ответ

0

Может быть:

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

поможет вам

+0

Это не сработает, потому что псевдонимы недоступны в 'GROUP BY'. (Они находятся в 'ORDER BY' и' HAVING'). Переход на 'WHERE fieldA NOT NULL' изменит количество сгруппированных строк, возможно, изменив исходное намерение. –

0

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

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

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