sql >> Databáze >  >> RDS >> Mysql

MySQL COUNT() ve více sloupcích

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

vám poskytne počty pro každé pole.

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

vám dá počty za hodnotu. Můžete to pomocí UNION zopakovat pro hodnoty val_1 až val_n v jediném (kludgy) dotazu.

Pokud chcete počty ve všech polích, potřebujete

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. Jak přidat dny k datu v T-SQL

  2. Jak třídit v SQL

  3. SQL Server:Dotazujte se rychle, ale pomalu z procedury

  4. Ukázková databáze SQLite