---
title: "Räkna antal"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/120816-räkna-antal"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Zerephina"
published: "2005-01-23T18:16:17.000Z"
updated: "2006-05-22T15:03:49.000Z"
replies: 14
views: 660
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/120816-räkna-antal"
---

# Räkna antal

## #1 — Zerephina, 2005-01-23T18:16Z

Jag har tidigare kört med denna:
(Nu slutade tab att fungera, hoppas att ni kan läsa koden ändå...)

```
sAntAvk =
" SELECT	COUNT (*) AS  ant        " & _
" FROM tabell                                " & _
" WHERE 	e = " & id & "                " & _
" OR u = " & id & "	                     "

rsAntAvk.Open sAntAvk, MinCon
intAntAvk = CInt(rsAntAvk(0))
rsAntAvk.Close
```

Men nu när jag bytt DB fungerar den inte. 

*Check the manual that corresponds to your MySQL server version for the right syntax to use near '(\*) AS ant FROM tabell WHERE e =*

Blir felmedelandet.

id, e och u har jag satt som INT. Vet inte om det är det som är fel?

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

## #2 — @nders, 2005-01-23T18:44Z

Skriv ut den färdiga SQL-frågan istället för att exekvera den, då kan du se om det är något värde som saknas. Antagligen har inte *id* något värde, och då är det därför du får felmeddelandet.

(Om jag var du skulle jag rensa bort all onödig whitespace i SQL-frågan)

Mvh

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

## #3 — Zerephina, 2005-01-23T19:15Z

Ett id-värde får jag in. *syntax to use near '(\*) AS ant FROM tabell WHERE e = 133 OR...*

Mellanslagen satt jag bara dit för att tab slutade att fungera och det såg så kluddrigt ut ;)

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

## #4 — @nders, 2005-01-23T19:37Z

Hur ser alltså den fullständiga SQL-frågan ut?

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

## #5 — Zerephina, 2005-01-23T19:44Z

```
sAntAvk = " SELECT COUNT (*) AS ant FROM tabell WHERE e = " & id & " OR u = " & id & " "
rsAntAvk.Open sAntAvk, MinCon
intAntAvk = CInt(rsAntAvk(0))
rsAntAvk.Close
```

id kommer in, det kan jag skriva ut också. Det är alltså meningen att det ska räknas hur många gånger id förekommer i e och u.

*(You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(\*) AS ant FROM tabell WHERE e = 133 OR u = 133' at line)*

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

## #6 — Zerephina, 2005-01-23T19:47Z

Jag har kört SELECT COUNT (\*) på en annan sida och det gick hur bra som helst... Måste vara nått annat som är blurrigt...

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

## #7 — @nders, 2005-01-23T20:10Z

Av den kod du visar kan jag inte förstå felmeddelandet, jag tycker inte att SQL-frågan är syntaxmässigt felaktig. Dock väntar jag fortfarande på en utskrift av den färdiga SQL-frågan för att vara säker på vad jag säger.

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

## #8 — Zerephina, 2005-01-23T20:55Z

SELECT COUNT (\*) AS ant FROM tabell WHERE e = 133 OR u = 133

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

## #9 — solbulle, 2005-01-23T21:00Z

Iofs kanske inte det som är felet, men mellanslaget som hakas på längst bak lär ju inte behövas.

```
sAntAvk = " SELECT COUNT (*) AS ant FROM tabell WHERE e = " & id & " OR u = " & id
```

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

## #10 — Zerephina, 2005-01-23T21:09Z

Tyvärr det hjälpte inte... Men jag önskade ;) Jag har kollat alla namn och det stämmer. Allt är satt som INT också, så det är inget typfel. (?eller?) Månne är det att den ska kolla samma värde i båda kolumnerna?

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

## #11 — LarsG, 2005-01-24T08:59Z

Mysql tillåter inte att man har blank mellan funktionsnamn och parentes. 

```
SELECT COUNT(*)
```

Sopprötter (de som implementerar Mysql alltså.)

Flyttas från ASP.

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

## #12 — K@llen, 2005-01-24T09:54Z

> **LarsG skrev:**
>
> Mysql tillåter inte att man har blank mellan funktionsnamn och parentes. 
> 
>
>
> ```
> SELECT COUNT(*)
> ```
>
> 
> 
> Sopprötter (de som implementerar Mysql alltså.)
> 
> Flyttas från ASP.

Säker på detta? Jag la också märke till det mellanslaget, men eftersom jag var osäker på om det hade betydelse testade jag här hemma och det fungerade även med mellanslag. Kanske fixat i de senare versionerna? Själv kör jag 4.01.

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

## #13 — Zerephina, 2005-01-24T12:21Z

Faktiskt så var det så jäkla enkelt... På den andra sidan jag hade så hade jag inget mellanslag och reagerade inte över det heller. Jag har tagit bort mellanslag mellan allting bara för att testa utom just där... Vad säger man? \*sucka\*

Tack!!

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

## #14 — K@llen, 2005-01-24T15:48Z

> **Zerephina skrev:**
>
> Faktiskt så var det så jäkla enkelt... På den andra sidan jag hade så hade jag inget mellanslag och reagerade inte över det heller. Jag har tagit bort mellanslag mellan allting bara för att testa utom just där... Vad säger man? \*sucka\*
> 
> Tack!!

Får man fråga vilken mysql-version du använder?

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

## #15 — MickeA.com, 2006-05-22T15:03Z

Nu har jag problem med samma sak. DBMS är Mysql 4.1.
Får felmeddelandet:

```
Inkompatibla typer
```

Koden ser ut såhär:

```
<%
If isNumeric(Session("usrPerm")) AND Session("usrPerm") > 1 Then
	Dim oConn
	Set oConn = Server.CreateObject("ADODB.Connection")
	oConn.Open dbConn
	sSql = "SELECT COUNT(menuID) FROM tbl_admMenu WHERE usrPerm < " & Session("usrPerm") & " OR usrPerm = " & Session("usrPerm")
'	Response.Write(sSql) : Response.End

	Set rs = oConn.Execute(sSql)
	If Not rs.EOF Then menuBlocks = rs(0) Else Response.reDirect("logout.asp") End If
	If Session("usrId") = superUsr Then addBlock = 2 Else addBlock = 1 End If
%>
<script type="text/javascript">
<%
	[b]Response.Write("var FoldNumber = " & menuBlocks + addBlock & ";" & VbCrLf)[/b]
	Set rs = Nothing
Else
	Response.reDirect("logout.asp")
End If
%>
```

Den fetstilta raden ovan är raden felet uppstår på.
Frågan skrivs ut helt rätt, nämligen såhär:

```
SELECT COUNT(menuID) FROM tbl_admMenu WHERE usrPerm < 3 OR usrPerm = 3
```

Några förslag?

Tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/120816-räkna-antal
