Mysql
 sql >> Database >  >> RDS >> Mysql

restituisci il conteggio 0 con mysql raggruppa per

Un GROUP BY ha bisogno di righe con cui lavorare, quindi se non hai righe per una determinata categoria, non otterrai il conteggio. Pensa alla clausola where come a limitare le righe di origine prima che vengano raggruppate insieme. La clausola where non fornisce un elenco di categorie in base alle quali raggruppare.

Quello che potresti fare è scrivere una query per selezionare le categorie (periferia), quindi eseguire il conteggio in una sottoquery. (Non sono sicuro di come sia il supporto di MySQL per questo)

Qualcosa come:

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, mi scuso)