SELECT
COUNT(DISTINCT val_1) AS val_1_count,
COUNT(DISTINCT val_2) AS val_2_count,
...
FROM ...
poda liczbę dla każdego pola.
SELECT val_1, count(*) as val_1_count
FROM ...
GROUP BY val_1
da ci obliczenia dla wartości. Możesz użyć UNION, aby powtórzyć to dla val_1 do val_n w pojedynczym (kludgy) zapytaniu.
Jeśli chcesz liczyć na wszystkich polach, potrzebujesz
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