---
title: "Ska även skriva ut vid 0"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/62082-ska-även-skriva-ut-vid-0"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "ampy"
published: "2002-12-13T15:39:35.000Z"
updated: "2002-12-13T19:39:32.000Z"
replies: 6
views: 183
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/62082-ska-även-skriva-ut-vid-0"
---

# Ska även skriva ut vid 0

## #1 — ampy, 2002-12-13T15:39Z

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
```

Koden skriver ut detta:

00 - 6
01 - 1
04 - 1
06 - 1
07 - 4
08 - 2
09 - 2
10 - 5
11 - 2
12 - 3
13 - 8
14 - 4
15 - 11
16 - 12
17 - 7
18 - 14
19 - 10
20 - 10
21 - 6
22 - 3
23 - 3

Som ni ser skriver den inte ut 02, 03 och 05 för att det var 0 inloggningar då. Hur ska man göra för att den ska skriva ut 0 vid de timmarna?

Permalänk: https://www.webforum.nu/p/62082

## #2 — Jacob, 2002-12-13T16:00Z

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.

Permalänk: https://www.webforum.nu/p/885316

## #3 — ampy, 2002-12-13T16:40Z

Hur menar du?

Permalänk: https://www.webforum.nu/p/885337

## #4 — LarsG, 2002-12-13T17:54Z

```
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.

Permalänk: https://www.webforum.nu/p/885363

## #5 — ampy, 2002-12-13T18:08Z

Nu får jag 

```
[TCX][MyODBC]You have an error in your SQL syntax near '('d',datum,date()) = 1 group by hour(datum) order by hour(datum) asc ' at line 1
```

På SQL-satsen.

Permalänk: https://www.webforum.nu/p/885370

## #6 — LarsG, 2002-12-13T19:28Z

Jaså du använder mysql du. 

```
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 "
```

Permalänk: https://www.webforum.nu/p/885405

## #7 — ampy, 2002-12-13T19:39Z

Det visste du väl redan?
Så mycket som du har hjälpt mig  ;)

Permalänk: https://www.webforum.nu/p/885412

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/62082-ska-även-skriva-ut-vid-0
