2012-02-06 78 views
0

我有一个Product表,其中有一列OrderStatusID查询以获取客户下订单的百分比

下面是一个例子查询:

SELECT * FROM dbo.Product where CustomerID = 10; 

问题:找到Products的百分比,其中OrderStatusID不为空。

+0

http://www.1keydata.com/sql/sql-percent-to -total.html,可以帮助你 – box86rowh 2012-02-06 13:54:39

回答

1
SELECT CAST(COUNT(OrderStatus) AS FLOAT)/COUNT(*)*100 Percentage 
FROM dbo.Product 
WHERE CustomerID = 10 
0
SELECT 
    SUM(CASE WHEN CustomerID=10 THEN 1 ELSE 0 END)/COUNT(CustomerID) 
    as Percentage 
FROM dbo.Product 
1

最简单的方法是这样的

SELECT 100*Count(OrderStatusID)/(SELECT count(*) FROM dbo.Product) FROM dbo.Product; 

希望它可以帮助

1
declare @total numeric(10,2) 
select @total =count(*) from orders 

select customerID, cast(100*count(*)/@total as numeric(10,2)) as Percentage 
from orders 
where customerID=10 
group by customerID