---
title: "Räkna unika värden i tabell?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/50684-räkna-unika-värden-i-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "bigsky"
published: "2002-08-18T22:58:23.000Z"
updated: "2002-08-20T14:19:29.000Z"
replies: 10
views: 1348
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/50684-räkna-unika-värden-i-tabell"
---

# Räkna unika värden i tabell?

## #1 — bigsky, 2002-08-18T22:58Z

Om jag i en loop vill räkna hur många poster av varje unikt värde (tex. antal 5:or, antal 1:or osv.) det finns i tabell, hur ska jag göra då? Loopen ska hålla reda på när ett nytt värde som inte räknats förr dyker upp. Sedan ska man kunne presentera för varje värde hur många poster det finns i. Någon?

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

## #2 — toha, 2002-08-19T06:50Z

Det beror lite på hur många unika värden du har och hur datat är lagrat i databasen. Lättast är väl kanske att skriva en stored procedure (om SQL Server) som returnerar det. En annan enkel lösning är att fixa det med Recordset:et:

```
Response.Write "Unika värden<br />"
For i = 1 to 5
    rs.Filter = "nummer = " & i
    Response.Write i & ": " & rs.RecordCount & "<br />"
Next
rs.Filter = ""
```

Där **nummer** är namn på fältet.

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

## #3 — emission, 2002-08-19T08:44Z

Det gör du bäst direkt i SQL-satsen

Om kolumnen med värdet heter "bapp" så....

SELECT Bapp,COUNT(\*) As Antal FROM Tabellen GROUP BY Bapp

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

## #4 — LarsG, 2002-08-19T08:45Z

```
select count(c), c from t group by c
```

Tråden flyttas till SQL-forumet

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

## #5 — bigsky, 2002-08-19T17:02Z

Får inget av ovan att fungera :( Tohas exempel funkar inte för det är inte siffror jag vill räkna då detta bara var ett exempel (skulle nog ha beskrivit det annorlunda...). De andra exemplen resulterar i ett felmeddelande:

"Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda."

I tabellen har jag cirka 90 namn på olika städer. Vissa städer förekommer fler än en gång, och jag vill alltså räkna hur många OLIKA stadsnamn det finns. Inte hur många av varje stadsnamn det finns.

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

## #6 — LarsG, 2002-08-19T19:20Z

Hur ser ditt select-uttryck ut?

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

## #7 — agneta_rung, 2002-08-19T19:57Z

Antal unika värden i kolumnen får du så här:

```
select count(distinct(stadsnamn)) 
from stadstabell
```

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

## #8 — @nders, 2002-08-19T20:02Z

Och för att fortsätta på agneta_rungs inlägg så vill jag minnas att en sådan SQL-fråga inte fungerar i Access. Då får man göra så här i stället:

```
SELECT COUNT(*) FROM (SELECT DISTINCT(stadsnamn) FROM stadstabell)
```

Mvh,

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

## #9 — bigsky, 2002-08-19T23:50Z

@nders, hur lägger jag in det värdet (antal olika städer) jag får från din kod, i en variabel som jag sedan kan skriva ut på valfri sida?

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

## #10 — @nders, 2002-08-20T04:20Z

Typ:

```
strSQL = "SELECT COUNT(*) FROM (SELECT DISTINCT(stadsnamn) FROM stadstabell)"
set objRS = objConn.Execute(strSQL)
lngAntal = Clng(objRS(0))
```

Mvh,

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

## #11 — bigsky, 2002-08-20T14:19Z

Tackar och bockar det ödmjukaste :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/50684-räkna-unika-värden-i-tabell
