С ONLY_FULL_GROUP_BY
установить (что я не хочу / не могу изменить) следующие ошибки запроса с
ОШИБКА 1055 (42000) : 'dbname .test1.person_id 'отсутствует в GROUP BY
(или эквивалентном более длинном сообщении в mariadb).
CREATE TABLE test1 (
thing VARCHAR(16),
person_id INT
);
SELECT
thing,
person_id
FROM
test1
GROUP BY
thing
HAVING
COUNT(DISTINCT person_id) = 1
Как я могу "сказать" MySQL, что я знаю person_id однозначен из-за предложения HAVING? Я не хочу использовать ANY_VALUE
, потому что он недоступен во всех базах данных, где должен выполняться этот код.
Редактировать: правильно было указано, что что-то вроде MAX
будет работать здесь person_id, но МАКСИМАЛЬНОЕ значение person_id на самом деле не имеет смысла и воспринимается как fr agile для будущих изменений. Есть ли лучший способ структурировать запрос так, чтобы он не требовался?