SELECT COUNT(*) AS antal FROM tabellnamn GROUP BY kolumnnamn
Där kolumnnamn är kolumnen innehållandes F1, F3 eller F5
6 svar · 1 523 visningar · startad av xtreme
Om jag har en kolumn i en tabell som ex ser ut så här?
F1
F1
F1
F3
F5
F3
Hur tar jag reda på vilken av F som förekommer flest gånger, som i detta fallet är F1?
SELECT COUNT(*) AS antal FROM tabellnamn GROUP BY kolumnnamn
Där kolumnnamn är kolumnen innehållandes F1, F3 eller F5
SELECT COUNT(*) AS antal FROM tabellnamn GROUP BY kolumnnamnDär kolumnnamn är kolumnen innehållandes F1, F3 eller F5
Tackar men den ger mig en lista ex:
3
3
2
1
Dvs någon F förekommer 3 gånger, någon 2 gånger etc men vet inte vilken F. Vill (bara) få fram ex "F1" i "svaret" dvs den som förekommer flest gånger, inte bara en siffra.
select c,
count(*) as occurrences
from t lnamn
group by c
order by occurrences desc
fetch first row only
Beroende på DBMS så kan du behöva byta ut den sista raden. De flesta har något stöd för att begränsa antalet returnerade rader. Få följer dock standard.
select c, count(*) as occurrences from t lnamn group by c order by occurrences desc fetch first row onlyBeroende på DBMS så kan du behöva byta ut den sista raden. De flesta har något stöd för att begränsa antalet returnerade rader. Få följer dock standard.
Använder MS SQL där det var "select top 1" i stället för " fetch first row only". Problemet är att jag får fram:
F1 3
Hur får jag så att inte count, dvs siffran 5 visas utan bara F1.
Använder MS SQL där det var "select top 1" i stället för " fetch first row only". Problemet är att jag får fram:
F1 3Hur får jag så att inte count, dvs siffran 5 visas utan bara F1.
Det är väl bara att strunta i det i select satsen, eller?
typ så här:
select top 1 c
from t lnamn
group by c
order by count(*) desc
/pebi
Om mssql har stöd för att använda aggregatfunktioner i order by så kan du skriva
select top 1 c
from t
group by c
order by count(*) desc
annars så går det lika bra med
select c
from
(select top 1 c,
count(*) as occurrences
from t
group by c
order by occurrences desc) dt