---
title: "Flera count på en gång"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21863-flera-count-på-en-gång"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "kristoffer"
published: "2002-01-02T20:19:00.000Z"
updated: "2002-01-04T17:33:00.000Z"
replies: 3
views: 230
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/21863-flera-count-på-en-gång"
---

# Flera count på en gång

## #1 — kristoffer, 2002-01-02T20:19Z

Jag har ett omröstningssystem till vilket jag i en databas har lagrat röstningarna enligt:

tabell: polls
fält: id
fält: question

tabell: votealternatives
fält: id
fält: polls_id
fält: alternativetext

tabell: votes
fält: id
fält: polls_id
fält: users_id
fält: votealternatives_id

För att visa resultatet behöver jag veta har många poster i tabellen votes som har röstat på votealternatives_id = 1, 2, 3, osv. Jag vill dock inte göra ett recordset för varje röstningsalternativ,

```
objRS1 = objConn.Execute("SELECT Count(*) AS Antal_1 FROM votes WHERE polls_id = 1 AND votealternatives_id = 1")
objRS2 = objConn.Execute("SELECT Count(*) AS Antal_2 FROM votes WHERE polls_id = 1 AND votealternatives_id = 2")
objRS3 = objConn.Execute("SELECT Count(*) AS Antal_3 FROM votes WHERE polls_id = 1 AND votealternatives_id = 3")
```

Kan jag få de olika antalen i samma recordset?

\[Redigerat av kristoffer den 02 jan 2002\]

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

## #2 — developer, 2002-01-03T12:00Z

Det du letar efter är GROUP BY, t.ex.

select votealternatives_id, count(\*)
from votes
where polls_id = 1
group by votealternatives_id

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

## #3 — kristoffer, 2002-01-03T15:36Z

Tackar. Det fungerade. Kan jag dessutom få reda på det totala antalet i samma SELECT-sats?

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

## #4 — LarsG, 2002-01-04T17:33Z

Beror på vilken dbms du har. En del har stöd för något som heter with rollup som innebär att man fär en slutsummering av värdena.

```

select votealternatives_id, count(*)
from votes
where polls_id = 1
group by votealternatives_id
with rollup
```

Värdet hamnar i ett eget recordset. Om det inte fungerar så är det nog enklast att summera värdena samtidigt som du presenterar resultatet.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21863-flera-count-på-en-gång
