【发布时间】:2014-03-25 18:02:12
【问题描述】:
我有一个记录仓库数据库事务的表。该表中的信息包括交易发生的地点、交易结束的日期、结束的时间、转移的数量和部门。我试图得到: - 每个部门每月的单位和交易数量如下:
Division Month Transactions Units
1 January 5 10
1 February 10 11
2 February 5 10
我的SQL查询如下:
SELECT
DISTINCT tranl.Division,
DATENAME(month,tranl.trandate) AS 'Month',
COUNT(tranl.qty) AS Transactions,
SUM(tranl.qty) AS Units
FROM translog (nolock) tranl
WHERE tranl.location = 'stage'
AND end_tran_date >= '2013-04-01 00:00:00.000'
GROUP BY end_tran_date, tranl.Division
ORDER BY tranl.Division
但我得到了不同的结果:
Division Month Transactions Units
1 January 5 10
1 January 3 22
2 February 10 40
2 February 3 12
2 March 1 1
....
【问题讨论】:
-
你能给出创建 DW 表的 sql 以及一些示例行吗?
标签: sql sql-server date transactions group-by