---
title: "Avancerad select count?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/131439-avancerad-select-count"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "ConnyFox"
published: "2005-07-14T23:13:00.000Z"
updated: "2005-07-20T07:19:38.000Z"
replies: 6
views: 366
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/131439-avancerad-select-count"
---

# Avancerad select count?

## #1 — ConnyFox, 2005-07-14T23:13Z

Håller på att bygga ett forum och undrar följande.

hur räknar jag ut hur många trådar som finns totalt i en kategori

och ännu värre, hur räknar jag ut hur många inlägg som finns i alla dessa trådar.

har följande tabellstruktur.

Kategorier
\*ID
\*namn

Trådar
\*ID
\*namn
\*belongto

Inlägg
\*ID
\*namn
\*belongto

har ingen aning om hur man räknar ut detta i sql frågan. vanlig count kan man ju..

```
MySQL = "Select namn, count(trådar), count(inlägg) from kategorier"
```

Vill kunna lista ut alla kategorier såhär sen

```
Avdelning       Trådar      Svar  

Motorcycklar  15             312
Bilar               12             243
```

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

## #2 — LarsG, 2005-07-15T06:49Z

Flyttas från ASP

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

## #3 — Melitta, 2005-07-15T09:22Z

MySQL = "Select namn, count(trådar) as antalT, count(inlägg) as antalI from kategorier"

Funkar det inte så då?

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

## #4 — ConnyFox, 2005-07-15T11:31Z

nej det e ju olika tabeller tyvärr där man identifierar vilken kategori tråden hör till med belongto och vilken tråd posten hör till på samma sätt.

så för att räkna ut antal poster totalt i en kategori får man alltså räkna ut antal poster där belongto = id´t på en tråd där belongto = id´t på den kategorin ;D eller åt andra hållet vore nog smidigare.

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

## #5 — ConnyFox, 2005-07-18T13:22Z

Ingen som kan? misstänkte att detta inte skulle gå att lösa med bara sql utan krävde asp för att bygga ihop sql frågan, därför jag postade där men å var det ju någon som flyttade den hit..

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

## #6 — Brimba, 2005-07-19T21:44Z

```
declare @categories table([id] int identity (1,1), namn varchar(50))
insert into @categories (namn) values ('Motorcyklar')
insert into @categories (namn) values ('Bilar')

declare @threads table([id] int identity (1,1), namn varchar(50), belongto int)
insert into @threads (namn, belongto) values ('Motorcykeltråd 1', 1)
insert into @threads (namn, belongto) values ('Motorcykeltråd 2', 1)
insert into @threads (namn, belongto) values ('Biltråd 1', 2)

declare @posts table([id] int identity (1,1), namn varchar(50), belongto int)
insert into @posts (namn, belongto) values ('Svar på Motorcykeltråd 1', 1)
insert into @posts (namn, belongto) values ('Svar på Motorcykeltråd 1', 1)
insert into @posts (namn, belongto) values ('Svar på Motorcykeltråd 1', 1)
insert into @posts (namn, belongto) values ('Svar på Biltråd 1', 3)
insert into @posts (namn, belongto) values ('Svar på Biltråd 1', 3)
insert into @posts (namn, belongto) values ('Svar på Motorcykeltråd 2', 2)

select 
	t1.Avdelning, sum(t1.Trådar) Trådar, sum(t1.Inlägg) Inlägg
from 
(
	select
		t2.namn Avdelning,
		count(*) Trådar,
		(select count(*) from @posts where belongTo = t3.id) Inlägg 
	from
		@categories t2
		inner join @threads t3 on t2.id = t3.belongTo
	group by
		t2.namn, t2.id, t3.id
) t1
group by
	t1.avdelning

/*
Bilar	1	2
Motorcyklar	2	4
*/
```

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

## #7 — LarsG, 2005-07-20T07:19Z

Eftersom jag flyttade tråden så får jag väl ge ett svar med hjälp av enbart SQL då.

```
select category,
(select count(*)
 from threads
 where belongto = c.id) as threads,
(select count(*)
 from posts 
  inner join threads on threads.id = posts.belongto
  where threads.belongto = c.id)
from categories c
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/131439-avancerad-select-count
