SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.05.2010 05:43:29

DAnfield
Участник
Зарегистрирован: 24.05.2010
Сообщений: 2

Выборка количества записей по датам

Есть таблица с записями и в этой таблице есть колонка с датой.

Задача такая - нужно вывести количество записей за все даты в опрделенном промежутке времени.

То есть к примеру пользователь задает промежуток с 1 мая 2010 года по 10 мая 2010 года.

Запрос должен вернуть данные(количество записей за день) за все дни. В дни в которые не было создано записей запрос должен вернуть 0.

Неактивен

 

#2 24.05.2010 13:39:11

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

Re: Выборка количества записей по датам

ну нули проще уже скриптом анализировать при необходимости, а так запрос простой:

SELECT date_col, COUNT(*) FROM tbl
WHERE
date_col < '2010-05-01'
AND
date_col > '2010-05-10'
GROUP BY date_col

Это если столбец date_col именно типа date, если там datetime - то нужно воспользоваться функцией DATE.

Отредактированно Shopen (24.05.2010 13:45:17)

Неактивен

 

#3 24.05.2010 14:57:31

DAnfield
Участник
Зарегистрирован: 24.05.2010
Сообщений: 2

Re: Выборка количества записей по датам

Спасибо!
Нашел часть решения, может кому понадобится в будущем:

SELECT TO_DATE('01-01-2010', 'dd-mm-yyyy')+(ROWNUM-1)
FROM DUAL
CONNECT BY TO_DATE('01-01-2010', 'dd-mm-yyyy')+(ROWNUM-1) <= TO_DATE('28-02-2010', 'dd-mm-yyyy');

Отредактированно DAnfield (24.05.2010 14:58:05)

Неактивен

 

#4 24.05.2010 17:18:13

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Выборка количества записей по датам

Кажется, то, что Вы нашли, в MySQL не заработает wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson