我使用Oracle 10g和我有一個表叫下載基本上是這樣的:具有第一列靜電標籤兩列SQL數查詢
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'
但是,這裏有兩個問題。一,它只打印一列,計數。二,如果沒有給定日期(或日期範圍)的數據,則不打印任何內容。我需要打印一個零。
於是我嘗試了這樣的事情:
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'),而我只想要一行,其數量。
我該怎麼做?
非常感謝, 鮑勃
非常感謝,這就像一個魅力工作! – Bob 2011-05-21 12:19:07
@Bob:你會想把它標記爲答案。 – 2011-08-05 22:04:57