MySQL SQL не возвращает правильное количество для записей, которые имеют нулевые и ненулевые значения
У меня есть следующие значения в таблице с тремя столбцами (код, сумма, имя)
"AMPF";"0.1000";"Amplify Inc";
"AMPF";"0.1000";"Amplify Inc";
"AMPF";"0.2000";"Amplify Inc";
"AMPF";"0.2000";"Amplify Inc";
"AMPF";"0.3000";"Amplify Inc";
"AMPF";"0.3000";"";
"AMPF";"0.4000";"";
"XYZA";"0.1000";"PeterPal Inc";
"XYZA";"0.1000";"PeterPal Inc"
Я выполняю следующий запрос, чтобы подобрать количество записей, которые существуют для определенного кода элемента.
ВЫБЕРИТЕ код, имя, количество (amt) как cnt ИЗ группы таблиц по порядку кода по cnt desc limit 30
SELECT code, name, count(amt) as cnt FROM table group by code order by cnt desc limit 30
В идеале ожидаемый результат должен быть:
AMPF,Amplify Inc,7
XYZA,PeterPal Inc,2
Но вместо этого это приводит к:
AMPF,Amplify Inc,5
XYZA,PeterPal Inc,2
Это указывает на то, что, хотя я беру счетчик в столбце amt, он каким-то образом принимает его в столбце имени, который равен нулю в записях № 6 и 7.
Есть мысли о том, что не так в моем коде?