Af en eller anden mærkelig grund, tæller den alle kommentarer, og er ligeglad med WHERE klausulet.
her er min kode:
datestr = request.querystring("datestr")
if datestr = "" then
datestr = 30
end if
testdate = dateadd("d",-datestr,date())
SQL = "SELECT TOP 20 COUNT(*) AS found, author FROM comments WHERE addeddate > #" & testdate & "# GROUP BY author ORDER BY COUNT(*) DESC;" set RS = conn.execute(SQL)
SQL = "SELECT TOP 20 COUNT(*) AS found, author FROM comments WHERE DateDiff('d',addeddate," & testdate & ") > 1 GROUP BY author ORDER BY id DESC;" set RS = conn.execute(SQL)
Den finder slet ingen ting så.. Men jeg har så også rettet "ORDER BY id" til "ORDER BY COUNT(*)", da pointen er at den skal hive top 20 brugere der har kommenteret mest.
Husk når du bruger dato'er via SQL for Access at den bruger US eller UK dato format som er yyyy-mm-dd eller mm-dd-yyyy.. Når man så indsætter en dato i dansk dato format, hvor dagen er først så bytter den rundt på månede og dag i datoen. Der er en løsning og der er at bruge dato funktionerne Year, Month og Day til at formatere din dato.
Så prøv dette eks som kun skulle tælle dem for de sidste 14 dage (din dato kan sætte ind idet for det med DateAdd):
dato = DateAdd("d",-14,Date) dato = Year(dato) & "-" & Month(dato) & "-" & Day(dato)
SQL = "SELECT TOP 20 COUNT(*) AS found, author FROM comments WHERE addeddate >= #" & dato & "# GROUP BY author ORDER BY COUNT(*) DESC;"
Skal lige side kolonne addeddate skal være af type Date/time og det har ikke noget indflydelse at den indeholder now().
Eagleeye, du er bomben. Endnu en gang virker det i første hak. Point til dig.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.