sql >> Databasteknik >  >> RDS >> Mysql

MySQL COUNT() över flera kolumner

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

ger dig räkningarna för varje fält.

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

ger dig räkningarna för ett värde. Du kan använda UNION för att upprepa detta för val_1 till val_n i en enda (klumpig) fråga.

Om du vill ha räkningarna över alla fält behöver du

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



  1. Hur returnerar man fälttyp från MySQL-fråga?

  2. MySql Connector 6.8.2 RC, Entity Framework 6 och Code First

  3. Komma igång med Cloud Firestore för iOS

  4. sortera efter XXX sortera efter ASC eller DESC, dynamisk ordning, mysql...