sql >> Base de Datos >  >> RDS >> Mysql

devuelve la cuenta 0 con el grupo mysql por

UN GRUPO POR necesita filas para trabajar, por lo que si no tiene filas para una determinada categoría, no obtendrá el recuento. Piense en la cláusula where como una limitación de las filas de origen antes de que se agrupen. La cláusula where no proporciona una lista de categorías para agrupar.

Lo que podría hacer es escribir una consulta para seleccionar las categorías (suburbios) y luego hacer el conteo en una subconsulta. (No estoy seguro de cómo es el soporte de MySQL para esto)

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, disculpas)