---
title: "SQL fråga angående statistisk fördelning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/127432-sql-fråga-angående-statistisk-fördelning"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "pg"
published: "2005-05-01T17:10:21.000Z"
updated: "2005-05-02T08:31:19.000Z"
replies: 6
views: 317
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/127432-sql-fråga-angående-statistisk-fördelning"
---

# SQL fråga angående statistisk fördelning

## #1 — pg, 2005-05-01T17:10Z

Hej

Jag har en fråga angående SQL-syntax.

I en tabell så finns det svar på en fråga typ...
Sätt betyg på....bla bla
Svaren ligger som integer-värden på 1-5 

Nu vill jag kunna visa svarsfördelningen på följande sätt. 
Betyg 1: 76 st
Betyg 2: 11 st
Betyg 3: 109 st
Betyg 4: 22 st
Betyg 5: 45 st

Jag undrar om detta går att få fram med en SQL-fråga och hur den i så fall ska se ut. Som det är nu så får jag köra en fråga för varje värde...
"SELECT COUNT(\*) AS nRS FROM Svar WHERE Varde=1"
"SELECT COUNT(\*) AS nRS FROM Svar WHERE Varde=2"
osv. Men detta känns inte så smidigt.

Jag har också testat att köra UNION på dessa men kan inte få det att funka...
"SELECT COUNT(\*) AS nRS1 FROM Svar WHERE Varde=1
UNION SELECT COUNT(\*) AS nRS2 FROM Svar WHERE Varde=2 UNION ....osv." När jag försöker hämta nRS2 med ett recordset så finns inte värdet. Skumt!

Jag sitter och labbar på en MS-server och är tacksam för alla förslag.

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

## #2 — Guffa, 2005-05-01T20:13Z

Gruppera på värdet så får du ut hur många det finns av varje med count(\*).

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

## #3 — Palle, 2005-05-02T06:27Z

Tråden flyttad från *Webbutveckling - Övrigt*.

mvh Palle
Moderator webForum

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

## #4 — Engine^, 2005-05-02T07:25Z

Som Guffa sa

```
SELECT Varde, COUNT(*) AS nRS
FROM Svar
GROUP BY Varde
ORDER BY Varde
```

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

## #5 — pg, 2005-05-02T07:34Z

Hur då?

Hej och tack för svaren.

Men jag förklara mig kanske inte så tydligt för jag vill även kunna få nRS=0 om alternativet saknar svar.

Om det t.ex finns följande i databasen
Betyg 1 - 8 st
Betyg 2 - 3 st
Betyg 3 - 7 st
Betyg 5 - 1 st

Då kommer jag att inte att kunna få fram
Betyg 1 - 8 st
Betyg 2 - 3 st
Betyg 3 - 7 st
Betyg 4 - 0 st \<-
Betyg 5 - 1 st

Så egentligen skulle jag vilja kunna skriva villkor inne i count.....
SELECT 
COUNT(select \* from Svar where Varde=1) AS nRS1
, COUNT(select \* from Svar where Varde=2) AS nRS2
, COUNT(select \* from Svar where Varde=3) AS nRS3
o.s.v
men detta funkar inte. Så kom gärna med mer förslag tack.
/pg

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

## #6 — @nders, 2005-05-02T07:38Z

Ett alternativ:

```
SELECT COUNT(*) AS nRS1, 
(SELECT COUNT(*) FROM Svar WHERE Varde = 2) AS nRS2,  
(SELECT COUNT(*) FROM Svar WHERE Varde = 3) AS nRS3, 
(SELECT COUNT(*) FROM Svar WHERE Varde = 4) AS nRS4, 
(SELECT COUNT(*) FROM Svar WHERE Varde = 5) AS nRS5 
FROM Svar WHERE Varde = 1
```

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

## #7 — pg, 2005-05-02T08:31Z

You´re the MAN!

Tackar och bockar. Exakt vad jag behövde. /P

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/127432-sql-fråga-angående-statistisk-fördelning
