【发布时间】:2013-10-22 23:26:19
【问题描述】:
我有一个查询,我在其中获得按日期、商店和类型分组的交易总额结果集。我卡住的地方是:我也想计算百分比,我会在 Excel 中简单地完成它,但由于命名约定不好,我每个商店的行数不一致,我的结果集非常大。
这是我没有百分比的查询:
SELECT DATEPART(Year,datecreated) as [Year],
DATEPART(Month,datecreated) as [Month],
b.Name as [Store]
Type as [Type],
Count(Transaction) as [Total],
SUM(Amount) as [Value],
-- one or two other aggregate functions
FROM MyTransactions a, MyStores b
WHERE a.Status = 'Paid'
AND a.ID = b.ID
-- AND Date -- daterange
GROUP BY
datepart(year,datecreated),datepart(month,datecreated),Type
ORDER BY year desc,month desc,type desc, store desc
效果很好,现在我只需要确定每种类型的交易百分比的最佳方法。例如2013 年第 9 个月期间,指定商店的总额的 60% 和价值的 22% 属于“信用”类型。
您对我有什么建议吗?将不胜感激。
编辑:
我要找的结果有点像这样:
2012 | 10 | Store1 | Credit | 100 | 50%
2012 | 10 | Store1 | Debit | 100 | 50%
2012 | 10 | Store2 | Credit | 400 | 40%
2012 | 10 | Store2 | Debit | 600 | 60%
等等。 (显然还有一些其他的值和百分比)
【问题讨论】:
-
我确实看过其中的许多(确实尝试了其中一些解决方案)。我认为我的问题更多在于我的分组,并获得正确的(关系)总数来计算百分比。
标签: sql sql-server