5
我有一个表,看起来像这样:如何透视和计算t-sql中的百分比?
DECLARE @myTable TABLE (country varchar(max), code int)
INSERT @myTable
SELECT 'A', 1 UNION ALL
SELECT 'A', 1 UNION ALL
SELECT 'A', 1 UNION ALL
SELECT 'A', 2 UNION ALL
SELECT 'A', 2 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 1 UNION ALL
SELECT 'B', 2 UNION ALL
SELECT 'C', 1 UNION ALL
SELECT 'C', 1 UNION ALL
SELECT 'C', 1 ;
欲枢轴转动而离开A/B/C,然后计数2秒的数量和具有总的2的百分比。
我可以得到2秒的数量与此查询
DECLARE @mySecondTable TABLE (country varchar(max), code int);
INSERT @mySecondTable
SELECT * FROM @myTable
WHERE code=2;
SELECT [A], [B], [C]
FROM
(SELECT Country, code
FROM @mySecondTable) AS source
PIVOT
(
COUNT(code)
FOR Country IN ([A], [B], [C])) AS pvt;
但我真的希望它看起来是这样的:
A B C
2 (40.0%) 1 (20.0%) 0
如何获得总计并计算百分比?
谢谢!
你接受不返回正确的结果:( – 2012-04-27 20:18:05
嗨约翰的解决方案,我被锁了由于某种原因,这里是我的评论Hi Lamak,那。使用错误的总数来计算百分比,因为AI需要总数为5,所以总数的百分比是2 = 2/5 = 40%。对于B,它将是1/5 = 20% – user918967 2012-04-27 21:29:45