TOP 10 betyder de 10 översta posterna! Om folk klickat på en länk 11 gånger kommer de 10 första posterna enbart innehålla pekare (intFaqID) till samma post... No good!
***
Så här är uppgiften på Svenska:
Sammanställ antalet träffar den senaste veckan. Lista varje post som fått flest träffar en gång, samt räkna gärna ut hur många träffar en viss post fick...
Alltså, varje gång man klickar på en länk skapas en ny INSERT INTO.
'SQL = "SELECT TOP 10 cc.intFaqID, COUNT(*) FROM clickCounter cc GROUP BY intFaqID ORDER BY 2 DESC;"
'SQL = "SELECT TOP 10 cc.intFaqID, COUNT(*) FROM clickCounter cc GROUP BY cc.intFaqID ORDER BY 2 DESC;"
'SQL = "SELECT TOP 10 cc.intFaqID, COUNT(*) FROM clickCounter cc GROUP BY cc.intFaqID ORDER BY 2 DESC;"
SQL = "SELECT TOP 10 cc.intFaqID, COUNT(*), faq.x_ID FROM clickCounter cc, faq GROUP BY cc.intFaqID ORDER BY 2 DESC;"
Nej du... jag får inte i hop det när man blandar in ytterligare en tabell. DSessutom visas inte alls TOP 10 utan alla poster uppfyller kriteriet...
Alla kolumner i select-listan (som inte ingår i en aggregatfunktion (count, sum etc)) måste vara med i group by.
Top fungerar så att den även tar med de som är lika (med avseende på det som finns i order by)
Om du har 1000 länkar och 9 har visats 2 gånger och de övriga 1 gång, så kommer du att få med alla poster. Så är det i Access-världen. Lägg till en extra kolumn i order by
SQL = "SELECT TOP 10 cc.intFaqID, COUNT(*) FROM clickCounter cc GROUP BY intFaqID ORDER BY 2 DESC, 1"
Det här blir ju fan bara värre och värre... Ingenting fungerar ju längre!
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'intFaqID WHERE dteCreated > #2002-09-09 16:42:11#'.
/top_10.asp, line 32
SQL = "SELECT TOP 10 intFaqID, COUNT(intFaqID) FROM clickCounter " _
& " GROUP BY intFaqID WHERE dteCreated > #" & dateAdd("w", -1, now()) & "# ORDER BY 2 DESC, 1;"
***
SQL = "SELECT TOP 10 cc.intFaqID, COUNT(cc.intFaqID), faq.x_subject FROM clickCounter cc, faq " _
& " WHERE cc.dteCreated > #" & dateAdd("w", -1, now()) & "# AND " _
& " cc.intFaqID = faq.x_ID GROUP BY cc.intFaqID ORDER BY 2 DESC, 1;"
***
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'x_subject' as part of an aggregate function.
/top_10.asp, line 36
Jag blir helt galen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Jag har testat lite olika varianter men det går ju inte att få med en post från den andra tabellen!!! Det MÅSTE ju bara funka!!