Re: MySQL inline view med statiske data
  Home FAQ Contact Sign in
dk.edb.database only
 
Advanced search
POPULAR GROUPS

more...

 Up
Re: MySQL inline view med statiske data         

Group: dk.edb.database · Group Profile
Author: Morten
Date: Apr 22, 2008 02:12

On Apr 22, 7:59 am, Michael Zedeler wrote:
> Morten wrote:
>> Hej, jeg har en applikation hvor brugeren vælger en dato range, fex.
>> 2008-04-01 til 2008-04-03. Denne benyttes til at tælle antal events
>> der var "åbne" på den givne dato, altså for hver dato some_date findes
>> events hvor "some_date BETWEEN events.start_date AND events.end_date"
>
>> Udfordringen er, at få datoerne sendt til MySQL, her er en måde:
>
>> SELECT date_range.some_day, COUNT(*)
>> FROM events, (
>> SELECT DATE('2008-04-01') AS some_day FROM DUAL UNION ALL
>> SELECT DATE('2008-04-02') FROM DUAL UNION ALL
>> SELECT DATE('2008-04-03') FROM DUAL
>> ) AS date_range
>> WHERE date_range.some_day BETWEEN events.start_date AND
>> events.end_date
>> GROUP BY 1
>
> Hvorfor ikke bare noget i denne stil?
>
> select count(*), date(events.start_date)
> from events
> where events.start_date between '2008-04-01' and '2008-04-03'
> group by date(events.start_date)
>
> Så kan du godt nok få huller med dage uden begivenheder, men dem må du
> fylde op selv.

Hej Michael,

Det er altid rart med input fra dig så tak for det. Jeg har måske fået
tænkt mig selv op i en krog, men jeg er ikke helt sikker på at det du
skriver dækker.

Det der driver dato-intervallet, er brugerens input range, ikke event
start/stop. Så hvis en bruger søger i intervallet 2008-04-01 til
2008-04-03, og der er events med start_date 2008-03-31 og end_date
2008-04-02 så kommer de ikke med i din query så vidt jeg kan vurdere.

Mvh.

Morten
no comments
diggit! del.icio.us! reddit!