Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql compte combien de fois un champ est lié à un autre

select ref, count(distinct id) from table group by ref;

Cela vous donnera un nombre d'identifiants distincts par référence.

select ref, count(*) from table group by ref;

Cela vous donnera le nombre d'enregistrements par référence.

MODIFIER :

Essayez ceci pour obtenir le résultat souhaité.

select t.*, m.counter
from table t 
join (
   select ref, count(distinct id) as counter
   from table group by ref
) m on t.ref = m.ref

Exemple sur SQLFiddle :http://sqlfiddle.com/#!9/2b93c/2