Lite småpanik

ASP

11 svar · 190 visningar · startad av webbmannen

Medlem sedan dec. 1999826 inlägg
Trådstart#1

Detta utförs inte som jag tänkt mig det:

SQL = "SELECT TOP 12 [Datum], COUNT(DISTINCT IP) AS uhpd FROM statistik GROUP BY [Datum] ORDER BY [Datum] DESC"

Jag får meddelandet "missing operator"

Jag läser koden så här:
Välj ut de 12 senaste datumen - räkna antalet unika IP-nummer - kalla detta uhpd - uppgifterna hämtas från db statistik - de grupperas med senaste datum överst.

Vad är det då för operator som saknas? Är jag bara blockerad eller vad?

/webb

Medlem sedan juni 200032 967 inlägg
#2

om det är access du använder så tror jag minsann att det som bråkas på kan vara count(distinct ip). jag har för mig att access inte stöder just select count (distinct bla).

prova att byta till count(*) bara för att testa, även om det inte ger dig det resultat du vill ha.

Medlem sedan dec. 1999826 inlägg
#3

Hej @nders,

Jodå jag kör Access och använder DISTINCT på andra uppgifter utan problem.

Fler förslag någon?

/webb

Medlem sedan juni 200032 967 inlägg
#4

det jag menar är att följande inte fungerar:

select count (distinct ip) from blah

har jag fel?

Medlem sedan dec. 1999826 inlägg
#5

Nej du har säkert rätt.

Det jag menade som fungerar är detta:

SQL = "SELECT Count(IP) AS ucnt FROM (SELECT DISTINCT IP FROM statistik)"

/webb

Medlem sedan juli 20003 825 inlägg
#6

Hmmm... SELECT i en SELECT sats... det var nån som sa att inte det fungerade med access! :-) Nåja... alltid lär man sig nåt nytt.

---

Missing operator är ju precis vad det är!

SQL = "SELECT TOP 12 [Datum], COUNT(DISTINCT IP) AS uhpd FROM statistik GROUP BY [Datum] ORDER
BY [Datum] DESC"

Ta bort kommat efter [Datum]!

Ser bara jag detta!? Jag blir så osäker när inte @nders redan sagt det...

Medlem sedan juni 200032 967 inlägg
#7

Ta bort kommat efter [Datum]!

våffårårå?

jag vågar påstå att kommat skall vara där, eftersom det är en lämplig separator mellan fält / data som skall hämtas i en select-query. men, jag har ju haft fel förut... ;)

Medlem sedan dec. 1999826 inlägg
#8

Eclipse,
Den satsen som du referar till är en som jag själv tyckte verkade logisk, men det är nog så att man inte får ha med DISTINCT på den platsen. Det blir nämligen tvärstopp utan felmeddelanden.

Även om Vide bara fick två minuter på sig så gick även han bet. Nu hör detta alltså till den högre skolan då eller ;)

/webb

Medlem sedan feb. 20001 590 inlägg
#9

Gör frågan i Access, och kolla SQL uttryket där.
Jag vet, inget vidare svar, men det går oftast fortare att testa krångligare frågor direkt i Access, man kan spara lite tid där.

Eftersom du verkar ha en tabell, är det inte säkert att det går att lösa med ett SQL uttryck. Hade det varit två tabeller med någon typ av relation, hade det varit lätt.
/T

Medlem sedan mars 20002 836 inlägg
#10

..... det fattas ett komma efter TOP 12.
Borde se ut ngt liknande ...

SQL = "SELECT TOP 12[b],[/b] [Datum], COUNT(DISTINCT IP) AS uhpd FROM statistik GROUP BY [Datum] ORDER
BY [Datum] DESC"

cya,

Medlem sedan dec. 1999826 inlägg
#11

Inget av förslagen hittills har gjort att det fungerar tyvärr :l

Toonster,
Hur gör man för att kolla detta i Access? (kan alltså inte access - har bara gjort enkla tabeller där).

/webb

Medlem sedan feb. 20001 590 inlägg
#12

Du skapar en fråga, och i designläget använder du tabeller och fält i ett grafiskt läge. Det är iof inte så lätt om man inte gjort det förut, men kolla hjälpfilerna.
När du skapat frågan och provkört att det fungerar, så kan man välja att se frågan som ett sql uttryck. Denna fråga kan du kopiera och klistra in i ASP koden, och med små förändringar ( ' och " tecken) så är det bara att köra...

Skapa några enkla frågor först för att testa.

/T

254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)