mysql GROUP BY не соответствует DISTINCT - PullRequest
0 голосов
/ 28 октября 2018

Я, должно быть, упускаю очевидную вещь, потому что после нескольких часов тестирования я, кажется, ослеп

Таблица 1, созданная с помощью

CREATE table1
SELECT column1,column2,SUM(column3) 
FROM table2 
WHERE condition1 
GROUP BY column1,column2

, не имеет ожидаемого количества строк

Итак, я хотел проверить table2 с помощью

SELECT COUNT(DISTINCT column1,column2) FROM table2 WHERE condition1

, и это дало мне ожидаемое количество строк

Что не так в моем способе работы?

1 Ответ

0 голосов
/ 28 октября 2018

Числа были бы другими, если column1 или column2 были NULL.

count(distinct) не считали null значений.При использовании с несколькими аргументами это верно, даже если только одно выражение имеет значение null.

Однако значения null располагаются в отдельных строках в group by.

...