Я использую Oracle 10g, и у меня есть таблица загрузок, которая в основном выглядит следующим образом:
ID DOWNLOAD_DATE
1 2011-02-10
2 2011-03-10
3 2011-04-10
4 2011-05-10
5 2011-01-11
6 2011-04-22
7 2011-02-18
8 2011-03-14
9 2011-02-01
10 2011-01-31
и т.д.
Я хотел бы выполнить запрос, который возвращает следующее:
Downloads today
Downloads yesterday
Downloads from start date until today
Downloads on start date
Downloads on day after start date
Я хотел бы напечатать результаты в двух столбцах. В первом столбце я хотел бы поместить статическую метку, как показано выше. А во втором столбце граф.
Я пробовал что-то вроде этого:
select count(id) from downloads where download_date = '2007-08-06'
union
select count(id) from downloads where download_date = '2007-08-08'
Но это имеет 2 проблемы. Один, он печатает только один столбец, количество. Во-вторых, если нет данных на определенную дату (или диапазон дат), ничего не печатается. Мне нужен ноль для печати.
Итак, я попробовал что-то вроде этого:
select download_date, count(download_date) from downloads where download_date = '2007-08-06'
group by download_date
union
select download_date, count(download_date) from downloads where download_date > '2007-08-08'
group by download_date
Возвращает два столбца, но первый столбец не является статическим, это поле в базе данных (download_date). И что еще более важно, он возвращает несколько строк для запроса, который выбирает диапазон дат (где download_date> '2007-08-08'), тогда как я просто хочу одну строку с ее количеством.
Как я могу это сделать?
Большое спасибо,
Боб