powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка диапазона дат с отсутствующими датами
3 сообщений из 3, страница 1 из 1
Выборка диапазона дат с отсутствующими датами
    #38597328
sashaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть БД 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 и получить дату
...
Рейтинг: 0 / 0
Выборка диапазона дат с отсутствующими датами
    #38597335
sashaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И ещё, на другом форуме советовали создать таблицу календарь, я использовал такой запрос:

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

Как в этом случае будет выглядеть правильно запрос? Я пытался составить, но не получается - выдает ошибку
...
Рейтинг: 0 / 0
Выборка диапазона дат с отсутствующими датами
    #38597425
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sashaw,

select cast('1970-01-01' + interval @n:=@n+1 day as date) as dt
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка диапазона дат с отсутствующими датами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]