---
title: "5 count i samma?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/92881-5-count-i-samma"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bosse168"
published: "2003-12-17T00:31:50.000Z"
updated: "2003-12-19T09:50:52.000Z"
replies: 16
views: 737
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/92881-5-count-i-samma"
---

# 5 count i samma?

## #1 — Bosse168, 2003-12-17T00:31Z

Hur gör man för att göra 5 olika counts i samma RecSet?

```

Set rs = Connect.Execute("SELECT Count(username) From members")

Set rs2 = Connect.Execute("SELECT Count(username) From members Where status = 'online'")

Set rs3 = Connect.Execute("Select id From gb Order BY id Desc LIMIT 1")

Set rs4 = Connect.Execute("Select messageid From mailin Order BY messageid Desc LIMIT 1")

Set rs5 = Connect.Execute("SELECT Count(postid) From forumpost")
```

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

## #2 — Engine^, 2003-12-17T04:13Z

```
strSQL = "SELECT Count(username), (SELECT Count(username) FROM members WHERE status = 'online'), " & _
         "(SELECT Count(postid) FROM forumpost) FROM members"

Set objRS = Connect.Execute(strSQL, , 1)

Response.Write objRS(0) & " : " & objRS(1) & " : " & objRS(2)
```

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

## #3 — Bosse168, 2003-12-17T11:52Z

Får detta fel mess:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09' 

\[TCX\]\[MyODBC\]You have an error in your SQL syntax near 'SELECT Count(username) FROM members WHERE status = 'online'), (SELECT Count(post' at line 1

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

## #4 — Jesper T, 2003-12-17T13:03Z

Testa att klamra: Count(\[username\])

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

## #5 — Bosse168, 2003-12-17T13:31Z

Nej det funkade inte.
Såg att jag hade glömt o säga att jag använder en MySQL databas.

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

## #6 — Jesper T, 2003-12-17T14:35Z

Jag tror inte du kan avända username som kolumnnamn i mySql testa att byta namn på kolumen.

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

## #7 — Bosse168, 2003-12-17T14:39Z

jo det funkar.

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

## #8 — Bosse168, 2003-12-17T15:40Z

Ingen som vet hur det ska se ut?

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

## #9 — Bosse168, 2003-12-17T21:33Z

Ingen som kan vet hur den SQL satsen ska se ut?

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

## #10 — Engine^, 2003-12-18T13:26Z

Du kan ju försöka ta reda på om det fungerar alls med MySQL. Jag kan ge dig ett testförslag

```
SELECT Count(*), (SELECT Count(*) - 1 FROM members) FROM members
```

Fungerar inte den så är det inte troligt att den typen av fråga fungerar alls. Men det kan nog gå att lösa med UNION (MySQL 4.0.0)

```
SELECT Count(username) FROM members
UNION
SELECT Count(username) FROM members WHERE status = 'online'
UNION
SELECT Count(postid) FROM forumpost
```

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

## #11 — ConnyFox, 2003-12-18T22:32Z

Hmm jag har ett problem med koden ovan, vad gör jag för fel?

felet pekar på den markerade raden

```

Mysql = "SELECT Count(ID) FROM wgs_categories where belongto = 0 UNION SELECT count(ID) from wgs_categories UNION SELECT count(ID) from wgs_scripts"
set RS = connect.Execute(MySQL)

dim scripts, categories, languages
languages = rs(0)
[B]categories = rs(1)[/B] 
scripts = rs(2)
```

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

## #12 — @nders, 2003-12-19T07:33Z

Du hämtar bara ett fält, så då är det svårt att försöka sno data från icke-existerande fält två och tre i ditt recordset. Ditt recordset består av tre poster, med ett fält var.

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

## #13 — ConnyFox, 2003-12-19T08:41Z

Det där förstog jag inte riktigt.. hur skall jag bära mig åt för att kunna ha flera count och kunna lagra varje count resultat i en variabel? Använder MySQL

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

## #14 — @nders, 2003-12-19T08:46Z

Du får *tre poster*, inte *tre fält*. Därför kan du inte hänvisa till fält två och tre, eftersom de inte finns. Resultatet ser ut så här:

```
-------------
123
192
28
```

Den första posten innehåller resultatet från den första frågan i din union, den andra posten från den andra frågan, osv. Du får helt enkelt gå igenom ditt recordset. Efter movenext är det ett nytt värde, ny variabel.

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

## #15 — niko, 2003-12-19T09:01Z

Om man man sen vill undvika (iofs sällsynta men) väldigt svårfunna buggar så bör det väl egentligen vara "UNION ALL"? 

I övrigt förstår jag inte alls varför man vill ställa frågan på det här sättet. Det känns mest som om det ger krystad och svårläst kod i jämförelse med ursprungskoden.

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

## #16 — @nders, 2003-12-19T09:09Z

> **niko skrev:**
>
> Om man man sen vill undvika (iofs sällsynta men) väldigt svårfunna buggar så bör det väl egentligen vara "UNION ALL"?

Helt klart, my bad.

> I övrigt förstår jag inte alls varför man vill ställa frågan på det här sättet. Det känns mest som om det ger krystad och svårläst kod i jämförelse med ursprungskoden.

Det håller jag med om. Tjänar man egentligen någonting på att lägga ihop dessa till en query? Försumbart, skulle jag gissa på.

Tack för tankarna, niko.

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

## #17 — ConnyFox, 2003-12-19T09:50Z

Ok nu förstår jag, tackar för förklaringen och får se om jag lägger ihop dom, hade fått uppfattningen om att det skulle vara mer optimerat än 3 separata sql satser.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/92881-5-count-i-samma
