2012-02-06 19 views
0

Productテーブルの列には、OrderStatusIDがあります。ここで顧客が発注した注文の割合を取得するクエリ

は、クエリの例です:

SELECT * FROM dbo.Product where CustomerID = 10; 

問題:OrderStatusIDがnullでないProductsの割合を見つけます。この

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

はそれが役に立てば幸いよう

+0

http://www.1keydata.com/sql/sql-percent-to -total.htmlはあなたを助けるかもしれません – box86rowh

答えて

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

最も簡単な方法がある

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 
関連する問題