---
title: "Räkna i en tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8443-räkna-i-en-tabell"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Rossifumi"
published: "2001-03-07T18:11:00.000Z"
updated: "2001-03-08T08:46:00.000Z"
replies: 13
views: 208
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/asp/8443-räkna-i-en-tabell"
---

# Räkna i en tabell

## #1 — Rossifumi, 2001-03-07T18:11Z

Hur ser en SQL-sats ut som summerar ett fält i en accessdatabas?

Databasen har ett fält som heter topicCount. Och jag vill lägga ihop alla topicCount så att jag kan få det totala antalet inlägg.

Någon som fattar?

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

## #2 — LarsG, 2001-03-07T18:19Z

```

   select sum(topicCount) as totalCount
     from ogrish
```

eller vad din tabell nu heter

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

## #3 — Rossifumi, 2001-03-07T18:30Z

Tack :)

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

## #4 — Rossifumi, 2001-03-07T18:33Z

Kanske är lite för avancerat...

Men jag gör som ni kanske förstår ett forum. Just nu finns det 7 st forum. Kan jag då göra en lite rutin eller något som räknar igenom det totala antalet inlägg i respektive forum?

Så här ungefär:

Forum1 22 inlägg
Forum2 122 inlägg
Forum3 222 inlägg

Eller måste jag göra ovanstående sum 7 ggr?

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

## #5 — LarsG, 2001-03-07T18:42Z

```

   select count(*) as antal,
          forumnamn
   from forum
   group by forumnamn
```

Tillägg

du kan använda vilken aggregatfunktion som helst, dvs max,min,sum,count,avg

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

## #6 — Rossifumi, 2001-03-07T18:44Z

Nu vet inte jag ifall jag inte fattar din kod eller ifall du missuppfattade mig. Jag vill alltså ha 7st olika värden. Det gör inte din kod eller?

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

## #7 — LarsG, 2001-03-07T18:45Z

Jo, det blir ett värde för varje unikt forumnamn.

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

## #8 — Rossifumi, 2001-03-07T19:03Z

OK, men trög som jag är så fattar jag inte så mycket.

Hur använder jag din kod?

Min tabell ser ut som följer:

topicID &#0124; räknare \>\> Säger sig självt
topicCounter &#0124; tal \>\> antalet svar på detta topic
forumID &#0124; tal \>\> Visar till vilket forum ämnet hör till

Hur skriver jag då för att få detta resultat:

Det fanns 10 inlägg i forumet med id = 1
Det fanns 12 inlägg i forumet med id = 2
osv...

Tack på förhand!

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

## #9 — LarsG, 2001-03-07T19:36Z

```

  ' connect etc
  SQLstr = "select sum(topicCounter) as antal, forumID from topics group by forumID"
  set rs = connection.execute(SQLstr)

  while not rs.eof
     response.write "Det finns " & rs("antal") & " inlägg i forumet med id = " & rs("forumID")
     rs.movenext
  wend
```

Jag vet fortfarande inte vad din tabell heter :h .

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

## #10 — Rossifumi, 2001-03-07T20:38Z

Jag får tacka för hjälpen, men jag är så trög :) 

Kolla in [denna textfilen](http://www.capreolusfoto.n.se/wf/aspkod.txt) så får du hela koden. Hoppas att det kan hjälpa dig.

Tack än en gång för hjälpen :)

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

## #11 — LarsG, 2001-03-07T21:11Z

Ok, jag tittade på din kod.

Det du kan göra är att lägga till det här på samma ställe som du räknar ut totala antalet.

```

SQLstr = "select sum(topicCounter) as antal, forumID from topicTable group by forumID order by forumID"

set rs = connection.execute(SQLstr)

fmCnt = rs.getrows()
```

Arrayen fmCnt innehåller nu alla poster från recordsetet. För att komma åt antalet inlägg i forumet med ID 1 så skriver man

```

   fmCnt(0,0)
```

Har du inte funderat på att lägga ner forumbeskrivningarna i databasen och hämta upp dem i en loop? I så fall kan man använda den förra varianten som jag skrev.

Om du vill läsa mer om getrows så finns det här
 <http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/dasdk/mdam9rg3.htm> 

Red: Nu vet jag ju vad din tabell heter.

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

## #12 — Rossifumi, 2001-03-08T07:22Z

Den klagar på rad 9 (fet)

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] För få parametrar angavs. 1 förväntades.
/forum/default.asp, line 9

```
<%

	Dim fmCnt, antal

	mySQL = "select sum(topicCounter) as antal, forumID from topicTable group by forumID order by forumID"
	[b]set objRS = objConn.Execute(mySQL)[/b]

	fmCnt = objRS.GetRows()

%>
```

Kanske är smidigare att loopa ut all info istället :) Men då kommer jag till ett annat problem.

Som du ser i min kod så måste jag isåfall loopa ut 3 forum sedan lägga in en bild sedan loopa ut 3 forum till och sedan en bild och sist men inte minst loopa ut 1 forum... Pheew, är det jätte jobbigt eller? Kanske bara går att använda mod eller något?

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

## #13 — LarsG, 2001-03-08T08:35Z

Okej access klarar tydligen inte av att man använder namn i order by. Försök med denna select istället.

```
mySQL = "select sum(topicCounter) as antal, forumID from topicTable group by forumID order by 2"
```

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

## #14 — Rossifumi, 2001-03-08T08:46Z

Samma felmeddelande, men tar jag bort ditt "group by forumID" så funkar det... Skumt.

Skall testa lite själv med att loopa ut allt istället, och då kan jag ju ha en vanlig sum inne i loopen :)

Tack så mycket för hjälpen :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/8443-räkna-i-en-tabell
