2011-04-29 31 views
0

我有一個銷售表,顯示每次銷售的日期和時間。範圍組中的COUNT記錄按日期

例如:

saleid | saledate | saletime
1 | 20110327 | 101
2 | 20110327 | 102
3 | 20110328 | 201

(所以銷售2 20110327發生在102)

我需要構建一個SQL語句:
組按日期銷售(每行是一個不同的日期),然後
計數每個時間範圍的銷售額。 (由於每個時間範圍是一個單獨的列)

表應該是這個樣子:

saledate | 101-159 | 200-259 |
20110327 | 2 | 0 |
20110328 | 0 | 1 |

它需要是一個單一的聲明和saledate和saletime需要保持數字格式。
(我是從一個數據庫表拉着幾百萬行)

我使用的MS Access

任何意見是極大的讚賞。

非常感謝!

+0

我一直離MS訪問太久,無法完全回答這個問題,但作爲一個提示,研究樞軸查詢。 – 2011-04-29 07:09:54

回答

0
SELECT saledate, 
SUM(IIF(saletime >= 101 and saletime <= 159), 1, 0) as [101To159) 
SUM(IIF(saletime >= 200 and saletime <= 259), 1, 0) as [200To259) 
FROM myTable 
GROUP BY saledate 

注意:我還沒有運行此查詢。但是,這是可能的。

+0

這不是Partition()函數的用途嗎? – 2011-04-30 19:39:08

0
SELECT saledate, 
SUM(case when saletime between 101 and 159 then 1 else 0 end) as R101_159, 
SUM(case when saletime between 200 and 259 then 1 else 0 end) as R200_59 
FROM myTable 
GROUP BY saledate