Har denna sql-sats för att skriva ut antal inloggningar per timme:
query = "select count(*) as antal, datum from inloggningar where vad = 'loggain' AND left(datum,10) = '"&date-1&"' group by mid(datum,12,2) order by mid(datum,12,2) asc"
set rs = connect.execute(query)
if not rs.eof then
do until rs.eof
response.write mid(rs("datum"),12,2) & " - " & rs("antal") & "<br>"
rs.movenext
loop
end if
Du kan ju lösa de i asp, genom att i loopen kolla om mid(rs("datum"),12,2)=t, och t plussas på vid varje loop om mid(rs("datum"),12,2) inte är lika med t så kan ju ju skiva att t - 0.
query = "select count(*) as antal, hour(datum) from inloggningar " & _
" where vad = 'loggain' AND datediff('d',datum,date()) = 1 " & _
" group by hour(datum) " & _
" order by hour(datum) asc "
set rs = connect.execute(query)
for i = 0 to 23
found = false
if not rs.eof then
if cint(rs(1)) = i then
response.write right("00" & rs(1),2) & " - " & rs("antal") & "<br>"
rs.movenext
found = true
end if
end if
if not found then response.write right("00" & i,2) & " - 0 <br>"
next
Att använda mid/left på datum är inte så bra tycker jag.
query = "select count(*) as antal, hour(datum) from inloggningar " & _
" where vad = 'loggain' AND to_days(current_date) - to_days(datum) = 1 " & _
" group by hour(datum) " & _
" order by hour(datum) asc "