sql >> Databasteknik >  >> RDS >> Mysql

MySQL distinkt räknas om förhållandena är unika

Här är ett alternativ som använder en underfråga med DISTINCT :

SELECT COUNT(*) gender_count,
   SUM(IF(gender='male',1,0)) male_count,
   SUM(IF(gender='female',1,0)) female_count
FROM (
   SELECT DISTINCT tel, gender
   FROM example_dataset
) t

Detta kommer också att fungera om du inte vill använda en underfråga:

SELECT COUNT(DISTINCT tel) gender_count,
    COUNT(DISTINCT CASE WHEN gender = 'male' THEN tel END) male_count,  
    COUNT(DISTINCT CASE WHEN gender = 'female' THEN tel END) female_count
FROM example_dataset


  1. Fyll Datagridview med MySQL-data

  2. Hur använder man osignerade int/long-typer med Entity Framework?

  3. Få localhost att köra på mac OS X Yosemite

  4. MySQL ERROR 1045 (28000):Åtkomst nekad för användaren 'bill'@'localhost' (med lösenord:JA)