webForumDet fria alternativet

problem med count(*)

Databaser & SQLur Databashanterare & SQL

8 svar · 464 visningar · startad av timedia

timediaMedlem sedan maj 2001420 inlägg
#1

Denna är nog fel?

Set Rs = Connect.Execute("SELECT count(LankId) as antal, * from Lankar WHERE Lan='"&Request.form("land")&"' AND Kategori="&Request.form("midd") & _
" order by kommun ")

och skriver sedan ut med <%=rs("Antal")%> Vad gör jag fel? har letat här på forumet och upptäckt att andra använder *

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Det går inte att gruppera fält tillagda med '*'.
/portal/html/traff.asp, line 121
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Inte i samband med count

Set Rs = Connect.Execute("SELECT count(LankId) as antal from Lankar WHERE Lan='"&Request.form("land")&"' AND Kategori="&Request.form("midd") )

Flyttas från ASP

timediaMedlem sedan maj 2001420 inlägg
#3

Hur gör jag då när jag behöver öppna alla kolumner - förutom att räkna antal träffar?

JosefMedlem sedan mars 20023 561 inlägg
#4

Antingen definiererar du alla kolumnerna(SELECT count(LankId), <alla andra kolumner> FROM Lankarosv...) eller kör du två frågor.

timediaMedlem sedan maj 2001420 inlägg
#5

Ger tyvärr fel:

Set Rs = Connect.Execute("SELECT count(LankId) as antal, Kategori, Lan, Kommun, Sokord, Lanktxt, Lank FROM Lankar WHERE Lan='"&Request.form("land")&"' AND Kategori="&Request.form("midd") & _
" order by kommun ")

felet:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'Kategori'.
/portal/html/traff.asp, line 121

skriver ut på sidan med: <%=rs("Antal")%>

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Om du dels vill ha alla poster och dels antal poster så är det bäst att ställa två separata frågor.

timediaMedlem sedan maj 2001420 inlägg
#7
Visa = "SELECT *from Lankar WHERE Lan='"&Request.form("land")&"' AND Kategori="&Request.form("midd") & _
" order by kommun " 
Set Rs2 = Connect.Execute("SELECT count(LankId) as antal from Lankar WHERE Lan='"&Request.form("land")&"' AND Kategori="&Request.form("midd") )

sedan kör jag <%=rs2("Antal")%> och det funkar :) Tack för hjälpen!

timediaMedlem sedan maj 2001420 inlägg
#8

Följdfråga: jag gör en portal som kommer att få kanske 2000 träffar om dagen (kortvariga besök). Koden jag gjorde här, belastar den mycket av prestandan? Gör idag en Access-db som ska konverteras när antalet besök/ekonomi gör det möjligt.

Antalet RS bör väl hållas nere?

illusionMedlem sedan juni 200467 inlägg
#9

Ju mer RS du öppnar desto mer minne tar du upp på servern. Stäng ner dom så snabbt som möjligt.

132 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)