我有以下的表..如何在SQL Server 2005中查找百分比?
Region Product
East Orange
West Apple
North Apple
West Orange
South Banana
West Banana
如何才能知道苹果要在列的总记录数的百分比和橙色为各自的区域?
我有以下的表..如何在SQL Server 2005中查找百分比?
Region Product
East Orange
West Apple
North Apple
West Orange
South Banana
West Banana
如何才能知道苹果要在列的总记录数的百分比和橙色为各自的区域?
如果我理解正确,你要求的区域/产品的每个组合的百分比与整个表。
SELECT region, product, COUNT(*)*100.0/(SELECT COUNT(*) FROM YourTable) AS percentage
FROM YourTable
WHERE product in ('Apple','Orange')
GROUP BY region, product
select
region,
sum(case when product in ('orange', 'apple') then 1 else 0 end)/(count(region) * 1.0) as percentage
from
[insert_table_name]
group by
region
尝试:
SELECT Region, Apples_and_Oranges/Total_Products AS Percent_Apples_and_Oranges
FROM (
SELECT Region, SUM(CASE WHEN Product = 'Apple' OR Product = 'Orange' THEN 1 ELSE 0 END) AS Apples_and_Oranges,
COUNT(*) AS Total_Products
FROM [Table]
GROUP BY Region
) AS A
您可以使用存储过程来做到这一点 – 2011-03-17 14:57:46