| Re: MySQL inline view med statiske data |
|
 |
|
 |
|
 |
|
 |
Group: dk.edb.database · Group Profile
Author: Michael ZedelerMichael Zedeler Date: Apr 21, 2008 22:59
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.
Mvh. Michael.
|