我在創建 SQL 查詢時遇到了一個特殊的問題。所以我有一個如下所示的表格。現在我想回傳促銷百分比值,即[具有促銷值的行數]/[總行數)。例如。低于 80%[4/5]。我還在學習 SQL,所以任何幫助都將不勝感激
| 型別 | 價值 |
|---|---|
| 促銷 | 7 |
| 促銷 | 17 |
| 促銷 | 87 |
| 非促銷 | 127 |
| 促銷 | 778 |
我嘗試使用子查詢但無法獲得預期值
uj5u.com熱心網友回復:
你可以試試這個:
SELECT
SUM(CASE WHEN Type = 'Promo' THEN 1 ELSE 0 END)/COUNT(*) AS PROMO_PERCENTAGE
FROM YOUR_TABLE
uj5u.com熱心網友回復:
您可以使用:
SELECT 100.0 * COUNT(CASE WHEN Type = 'Promo' THEN 1 END) / COUNT(*) AS pct
FROM yourTable;
uj5u.com熱心網友回復:
您可以濫用avg聚合函式:
select avg(case when type ='promo' then 100. else 0 end)
from t
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/451749.html
標籤:sql
