---
title: "Hur räkna ut flest förekomster i en tabell?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/181635-hur-räkna-ut-flest-förekomster-i-en-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "xtreme"
published: "2009-12-14T16:31:33.000Z"
updated: "2009-12-15T12:11:26.000Z"
replies: 6
views: 1530
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/181635-hur-räkna-ut-flest-förekomster-i-en-tabell"
---

# Hur räkna ut flest förekomster i en tabell?

## #1 — xtreme, 2009-12-14T16:31Z

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?

Permalänk: https://www.webforum.nu/p/181635

## #2 — metalboy, 2009-12-14T16:39Z

```
SELECT COUNT(*) AS antal FROM tabellnamn GROUP BY kolumnnamn
```

Där *kolumnnamn* är kolumnen innehållandes F1, F3 eller F5

Permalänk: https://www.webforum.nu/p/2217368

## #3 — xtreme, 2009-12-14T22:43Z

> **[metalboy skrev:](https://www.webforum.nu/p/1491448)**
>
> ```
> SELECT COUNT(*) AS antal FROM tabellnamn GROUP BY kolumnnamn
> ```
>
> 
> Dä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.

Permalänk: https://www.webforum.nu/p/2217427

## #4 — LarsG, 2009-12-14T23:04Z

```
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.

Permalänk: https://www.webforum.nu/p/2217429

## #5 — xtreme, 2009-12-15T10:54Z

> **[LarsG skrev:](https://www.webforum.nu/p/1491518)**
>
> ```
> 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.

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.

Permalänk: https://www.webforum.nu/p/2217459

## #6 — pebi, 2009-12-15T11:44Z

> **[xtreme skrev:](https://www.webforum.nu/p/1491551)**
>
> 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.

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

Permalänk: https://www.webforum.nu/p/2217462

## #7 — LarsG, 2009-12-15T12:11Z

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
```

Permalänk: https://www.webforum.nu/p/2217463

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/181635-hur-räkna-ut-flest-förekomster-i-en-tabell
