【问题标题】:Calculating a percentage from database with sql query(SQL Management studio 2012)?使用 sql 查询从数据库中计算百分比(SQL Management Studio 2012)?
【发布时间】:2019-04-19 11:44:55
【问题描述】:

使用 SQL Management Studio 2012

我有一个类似下面的查询,但需要添加通过率的百分比列

SELECT 

pass,
fail,
total,
name

FROM table


pass  fail total  name     %
 3      1    4    Joe      75
 5      0    5     Matt    100
 1      1    2     Al      50
 7      0    7    Freda    100

我试图得到的结果:

SELECT

name,
sum(pass) /Sum(total) *100.0 as pass_rate


FROM
(
SELECT 

pass,
fail,
total,
name

FROM table
)a

GROUP BY name

上面查询得到的结果(错误):

name    pass_rate

 Joe      100
 Matt     100
 Al        0
 Freda    100

请帮忙。谢谢。

【问题讨论】:

标签: sql


【解决方案1】:

只需将里面的乘以 100 移动到分子中

SELECT
name,
SUM(pass) * 100 /Sum(total) AS pass_rate
....

【讨论】:

    【解决方案2】:

    你可以试试下面

    DEMO

    select 
    pass,
    fail,
    total,
    name,(pass*1.0/total)*100 as pass_rate
    from table
    

    输出:

      pass  fail    total   name    pass_rate
        3        1       4       Joe    75.0
        5        0       5       Matt   100.0
        1        1       2       Al     50.0
        7        0       7       Freda  100.0
    

    【讨论】:

      猜你喜欢
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 1970-01-01
      相关资源
      最近更新 更多