sql >> Databasteknik >  >> RDS >> Mysql

MySQL-antal i samma tabell inklusive nollräkningsvärden

Prova detta:

SELECT 
  t1.id, 
  IFNULL(COUNT(t2.name), 0) AS refNr 
FROM test AS t1
LEFT JOIN test AS t2 ON t1.id = t2.id_user_ref
GROUP BY t1.id;

SQL Fiddle DEmo

Detta ger dig:

| ID | REFNR |
--------------
|  1 |     2 |
|  2 |     1 |
|  3 |     1 |
|  4 |     0 |
|  5 |     0 |


  1. CTE och födelsedagsparadoxen

  2. SQL-fråga som returnerar alla datum som inte används i en tabell

  3. MySQL:Infoga inte en ny rad om de definierade raderna är samma

  4. Hur man castar DateTime till Time