我如何在SQL Server 2005中找到百分比?

时间:2011-03-17 14:48:37

标签: sql

我有一张桌子..

Region   Product
East     Orange
West     Apple
North    Apple
West     Orange
South    Banana
West     Banana

如何找出各个地区的Apple和橙色占列中记录总数的百分比?

3 个答案:

答案 0 :(得分:0)

如果我理解正确,您要求的是区域/产品与整个表格的每个组合的百分比。

SELECT region, product, COUNT(*)*100.0/(SELECT COUNT(*) FROM YourTable) AS percentage
    FROM YourTable
    WHERE product in ('Apple','Orange')
    GROUP BY region, product

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试:

    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