Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

retorne a contagem 0 com o grupo mysql por


Um GROUP BY precisa de linhas para trabalhar, portanto, se você não tiver linhas para uma determinada categoria, não obterá a contagem. Pense na cláusula where como limitando as linhas de origem antes de serem agrupadas. A cláusula where não está fornecendo uma lista de categorias para agrupar.

O que você pode fazer é escrever uma consulta para selecionar as categorias (subúrbios) e fazer a contagem em uma subconsulta. (Não tenho certeza de como é o suporte do MySQL para isso)

Algo como:
SELECT 
  s.suburb_id,
  (select count(*) from suburb_data d where d.suburb_id = s.suburb_id) as total
FROM
  suburb_table s
WHERE
  s.suburb_id in (1,2,3,4)

(MSSQL, desculpas)