我有一个表,首先按产品类别对帐户ID进行分组,然后我有一个子查询查看每个帐户ID,并给出一个布尔值,说明它们是否已获批服务。
我希望在查询中添加一列,以分解每个类别中的所有ACCOUNT ID,并让我知道该类别的批准百分比(每个帐户ID的真实结果数量/该产品中IDS的总数量)类)
数据基本上是这样的;
| category | number of account ID's in category |
|---------------|-------------------------------------|
| Bikes | 22 |
| Snowboards | 10 |
| Skis | 13 |
| Account ID | approved for service? | Category |
|-------------|-----------------------|-----------|
| 12345 | TRUE | snowboard |
| 67891 | FALSE | snowboard |
| 17492 | TRUE | skis |
| 42929 | TRUE | Bikes |
理想情况下,我希望查询按产品类别组织“已批准服务”结果并给出一个真正的百分比。在这种情况下,最终结果表应该如下所示;
| Category | number of account ID's in Category | approval percentage |
|-------------|------------------------------------|----------------------|
| Bikes | 1 | 100% |
| Snowboards | 2 | 50% |
| Skis | 1 | 100% |
非常感谢任何帮助或提示:)
答案 0 :(得分:0)
你可以这样做:
select category, avg( approved_for_service = 'True') * 100
from t1
group by category;
如果approved_for_service
是布尔值,则:
select category, avg( approved_for_service ) * 100
from t1
group by category;