Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL COUNT() über mehrere Spalten hinweg

SELECT
  COUNT(DISTINCT val_1) AS val_1_count,
  COUNT(DISTINCT val_2) AS val_2_count,
  ...
FROM ...

gibt Ihnen die Anzahl für jedes Feld.

SELECT val_1, count(*) as val_1_count
FROM ...
GROUP BY val_1

gibt Ihnen die Zählungen für einen Wert. Sie können UNION verwenden, um dies für val_1 bis val_n in einer einzigen (kludgy) Abfrage zu wiederholen.

Wenn Sie die Zählungen über alle Felder wollen, brauchen Sie

SELECT val,count(*) as valcount
FROM (
  SELECT val_1 AS val FROM ...
  UNION ALL
  SELECT val_2 AS val FROM ...
  ...
) AS baseview
GROUP BY val