---
title: "Krånglig fråga med klockslag!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/174069-krånglig-fråga-med-klockslag/page7"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "oskars"
published: "2008-09-15T17:40:55.000Z"
updated: "2008-10-03T10:04:36.000Z"
replies: 131
views: 4278
page: 7
pages: 7
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/174069-krånglig-fråga-med-klockslag"
---

# Krånglig fråga med klockslag!

_Sida 7 av 7._

## #121 — Peter S, 2008-09-28T19:44Z

Så, den förra koden är redigerad igen. Det uteblivna resultatet berodde på ett syntaxfel ;)

Frågan är dock tung att köra.

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

## #122 — oskars, 2008-09-28T19:52Z

Nice! Jag gör en testsökning nu och ser vad jag får för resultat!

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

## #123 — oskars, 2008-09-28T19:57Z

Mjo, nu får vi fram resultat...

Men det visas så här:

2007-09-01 12:08:00 ; 2 
2007-09-01 12:11:00 ; 3 
2007-09-01 12:14:00 ; 2 
2007-09-01 12:51:00 ; 1 
2007-09-01 23:31:00 ; 7 
2007-09-01 23:37:00 ; 7 
2007-09-01 23:44:00 ; 5 

Det ju bara vara 1st resultat per 2007-09-01 (Alltså det mellan dom klockslagen man angett).

Dom resultaten man får fram här... är det hur många resor som samtigit gjordes under dom exakta klockslagen?

Kanske det har att göra med hur man grupperar dom?

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

## #124 — Peter S, 2008-09-28T20:13Z

Oops. Det får bli typ så här i stället

```
select format(dt.s, "yyyy-mm-dd", 2, 2)
     , max(dt.c) 
 from (
 
select a.new_Start as s
     , ( select count(*) + 1 
           from allingsas 
          where id <> a.id 
            and ((hour(new_Start) = 12 and minute(new_Start) >= 0) or hour(new_Start) > 12) 
            and (((hour(new_Slut) = 13 and minute(new_Slut) <= 0) or hour(new_Slut) < 13) or (13 < 12 and hour(new_Slut) > 12)) 
            and ((new_Start between a.new_Start and a.new_Slut) or (new_Slut between a.new_Start and a.new_Slut)) ) as c 
           from allingsas a 
          where weekday(a.new_Start, 2) = 7 
            and ((hour(a.new_Start) = 12 and minute(a.new_Start) >= 0) or hour(a.new_Start) > 12) 
            and (((hour(a.new_Slut) = 13 and minute(a.new_Slut) <= 0) or hour(a.new_Slut) < 13) or (13 < 12 and hour(a.new_Slut) > 12))
    ) as dt 
group
    by  format(dt.s, "yyyy-mm-dd", 2, 2)
```

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

## #125 — Sjodahl, 2008-09-28T20:17Z

Börjar bli en rätt komplex fråga ; )

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

## #126 — oskars, 2008-09-29T19:48Z

> **Sjodahl skrev:**
>
> Börjar bli en rätt komplex fråga ; )

Men Peter hanterar den bra :)

Reflekterat något över det jag skrev i PM?

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

## #127 — Sjodahl, 2008-09-29T19:49Z

Väldigt bra!  (y)

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

## #128 — Peter S, 2008-09-29T19:51Z

> **oskars skrev:**
>
> Men Peter hanterar den bra :)
> 
> 
> 
> Reflekterat något över det jag skrev i PM?

Ja, men jag kan inte svara då du har fullt i brevlådan ;)

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

## #129 — oskars, 2008-09-29T19:52Z

> **Peter S skrev:**
>
> Ja, men jag kan inte svara då du har fullt i brevlådan ;)

Åtgärdat kompis!

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

## #130 — Peter S, 2008-09-30T20:41Z

Maratontråden fortsätter ;)

```
select format(dt.s, "yyyy-mm-dd", 2, 2)
     , max(dt.c) 
  from (
select a.new_Start as s
     , ( select count(*) + 1 
          from allingsas 
         where id <> a.id 
           and (
            (new_Start between a.new_Start and a.new_Slut) or (new_Slut between a.new_Start and a.new_Slut) or
            (new_start < a.new_start and new_slut > a.new_start)
           ) ) as c 
  from allingsas a 
 where weekday(a.new_Start, 2) = 6
   and (
    ((hour(a.new_start) > 12 or (hour(a.new_start) = 12 and minute(a.new_start) >= 0)) and ((12 < 13 and (hour(a.new_start) < 13 or (hour(a.new_start) = 13 and minute(a.new_start) = 0))) or (12 > 13 and (hour(a.new_start) < 13 or (hour(a.new_start) = 13 and minute(a.new_start) = 0)))))
        or
    (12 < 13 and (hour(a.new_slut) > 12 or (hour(a.new_slut) = 12 and minute(a.new_slut) >= 0)) and (hour(a.new_slut) < 13 or (hour(a.new_slut) = 13 and minute(a.new_slut) = 0)))
        or
    (12 > 13 and ((datediff("d",a.new_start,a.new_slut)=0 and (hour(a.new_start) > 12 or (hour(a.new_start) = 12 and minute(a.new_start) >= 0)) and (hour(a.new_slut) > 12 or (hour(a.new_slut) = 12 and minute(a.new_slut) >= 0)))
            or (datediff("d",a.new_start,a.new_slut)=1 and (hour(a.new_start) > 12 or (hour(a.new_start) = 12 and minute(a.new_start) >= 0)) and (hour(a.new_slut) < 13 or (hour(a.new_slut) = 13 and minute(a.new_slut) = 0)) )))
        or
    (hour(a.new_start) < 12 and hour(a.new_slut) > 13)
   )
     ) as dt 
group
    by format(dt.s, "yyyy-mm-dd", 2, 2)
```

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

## #131 — Peter S, 2008-10-02T19:17Z

Ovanstående fungerar inte. Det behövs fler villkor i den innersta SELECT:en. Om huvud-SELECT:ens tid omsluter det angivna tidsintervallet, måste den inre SELECT:en inte bara se till att den ligger inom huvudtiden, utan även se till att den (på ett eller annat sätt) ligger inom intervallet.

Just nu känner jag att det blir för mycket att hålla reda på ;) Kanske att jag tittar på det igen vid ett senare tillfälle.

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

## #132 — oskars, 2008-10-03T10:04Z

Tack för all hjälp Peter!

Är det någon annan som förstår sig på det här?

Jag är tacksam för all hjälp!!!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/174069-krånglig-fråga-med-klockslag/page7  
Föregående sida: https://www.webforum.nu/amne/databaser-sql/174069-krånglig-fråga-med-klockslag/page6.md
