|
|
|
Выборка диапазона дат с отсутствующими датами
|
|||
|---|---|---|---|
|
#18+
Есть БД MySQL, в ней таблица, содержащая данные примерно следующего вида: 2009-06-25 75 2009-07-01 100 2009-07-02 120 Т.е. определенная дата будет отсутствовать, если для неё отсутствуют данные. Мне нужно выбрать данные за определенный промежуток времени и я задаю в запросе условие: ... AND date >= '2009-06-25' AND date =< '2009-07-02' Но он не работает. А мне нужно получить в результате данные вида: 2009-06-25 75 2009-06-26 0 2009-06-27 0 2009-06-28 0 2009-06-29 0 2009-06-30 0 2009-07-01 100 2009-07-02 120 Т.е. там где нет данных подставить 0 и получить дату ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 18:21:57 |
|
||
|
Выборка диапазона дат с отсутствующими датами
|
|||
|---|---|---|---|
|
#18+
И ещё, на другом форуме советовали создать таблицу календарь, я использовал такой запрос: create or replace view v3 as select 1 n union all select 1 union all select 1; create or replace view v as select 1 n from v3 a, v3 b union all select 1; set @n = 0; drop table if exists calendar; create table calendar(dt datetime primary key); insert into calendar select cast('1970-1-1 00:00:00' + interval @n:=@n+1 hour as datetime) as dt from v a, v b, v c, v d, v e, v; Но он генерирует даты с временем с интервалом в 1 час. А мне я так понимаю нужно просто сгенерировать даты без времени просто даты. Как переписать запрос в этом случае? И как будет выглядеть итоговый запрос из таблицы вида (это небольшая партнерская программа): не могу понять.. Допустим пользователь задал интервал для выборки своих данных: начальная дата 2013-06-18 и конечная дата 2013-06-23 Как в этом случае будет выглядеть правильно запрос? Я пытался составить, но не получается - выдает ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 18:26:44 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1835064]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 324ms |

| 0 / 0 |
