2017-10-25 3 views
-1

Zum BeispielSQL finden verschiedene Werte zählen, 2-mal wiederholt Werte zählen, 3-mal wiederholt Werte zählen und so weiter

AAA 
BBB 
BBB 
CCC 
BBB 
CCC 
DDD 
DDD 

Es gibt 4 eindeutige Werte (AAA, BBB, CCC, DDD), 2 zweimal wiederholt Werte (CCC, DDD), 1 drei mal wiederholte Werte (BBB). Ich möchte eine SQL-Abfrage für dieses Problem schreiben. bitte helfen

So ist die Antwort 4, 2, 1.

+1

Das sieht aus wie Hausaufgaben. Haben Sie bisher etwas unternommen, um das Problem zu lösen? –

+0

Welches [DBMS] (https://en.wikipedia.org/wiki/DBMS) Produkt verwenden Sie? Postgres? Orakel? "_SQL_" ist nur eine Abfragesprache, nicht der Name eines bestimmten Datenbankprodukts. –

+0

Ich benutze Amazon Redshift –

Antwort

1

Sie können diese row_number() mit tun:

select, seqnum, count(*) 
from (select col, row_number() over (partition by col) as seqnum 
     from t 
     group by col 
    ) h 
group by seqnum 
order by seqnum;