05. september 2000 - 11:01Der er
6 kommentarer og 1 løsning
Problemer med SQL funktion
Halløj
Jeg får en fejl på \"first\" når prøver med følgende statement i et view:
SELECT First([pageviews].[PageVisited]) AS Side, Count([pageviews].[PageVisited]) AS Antal FROM pageviews GROUP BY [pageviews].[PageVisited] HAVING (((\"where cookieid\")<>\"395\" And (\"where cookieid\")<>\"2\")) ORDER BY Count([pageviews].[PageVisited]) DESC;
Jeg finder ingen grund til sammenligning. Jeg kan ikke få en top 1 funktion til at spille med min sætning. Hvis det er så nemt kan du vel bare skrive den som den skal være...
SELECT top 1 [pageviews].[PageVisited], Count([pageviews].[PageVisited]) AS Antal from ....
Hvad vil du i øvrigt bruge \"as Side\" til ? DU får jo kun en record.
Hvis du får flere burde Select top 1% sikre at du kun får den aller første.
Og i sidste ende, hvis du ikke har mange records hvor cookieid er forskellig fra 395 og 2, så brug:
SELECT [pageviews].[PageVisited] AS Side, Count([pageviews].[PageVisited]) AS Antal FROM pageviews GROUP BY [pageviews].[PageVisited] HAVING (((\"where cookieid\")<>\"395\" And (\"where cookieid\")<>\"2\")) ORDER BY Count([pageviews].[PageVisited]) DESC;
og så lav et loop:
if not (rs.eof) then rs.movefirst // do your stuff endif
Men der er noget galt i din forklaring. HHv. Order By og Group By fortæller at du forventer at du får flere records for hver kategori eller hvad du kalder den. Er det sådan at du kun vil have den EN af hver side der er besøgt og have disse vist i grupper og sorteret efter antal besøg. I så fald er det DISTINCT du skal bruge istedet for FIRST.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.