SQL - 百分比计数

时间:2012-04-13 03:37:54

标签: sql sql-server-2008

我有一个名为 URP_PROJECT 的表,一个名为 ts_title 的列。列 ts_title 下有不同的记录数据。如何计算 ts_title 下的每条记录的百分比?根据下面的SQL查询添加百分比列。

我从:

开始

SELECT ts_title

COUNT(ts_title)AS百分比

帮我继续​​,谢谢

5 个答案:

答案 0 :(得分:1)

这可能会给你你想要的东西

  select ts_title, 
         count(1) * 100.0 / (select count(1) from upr_project)
 from upr_project
group by ts_title

乘以100.0将其转换为浮点数以获得更准确的百分比。

答案 1 :(得分:1)

另一种解决方案是使用窗口函数:

select ts_title,
       100.0 * (up.cnt*1.0 / (sum(up.cnt) over (partition by 1)))
from 
(
  select ts_title, count(*) as cnt
  from upr_project
  group by ts_title
) up

答案 2 :(得分:0)

试试这个

SELECT ts_title,
(count(ts_title) * 100 / (SELECT count(*) FROM URP_PROJECT)) as percentage 
FROM URP_PROJECT Group BY ts_title

答案 3 :(得分:0)

您好我猜您正在寻找整个表格中ts_title记录的百分比。如果是这种情况,这将有助于你

DECLARE @ActualCount INT

select @ActualCount = COUNT(*) from urp_project


select ts_title
  ,(Count(ts_title)/ @ActualCount )* 100 AS Percentage       
from urp_project
group by ts_title;

答案 4 :(得分:0)

这样的事情,也许是:

SELECT
  ts_title,
  COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () AS percentage
FROM URP_PROJECT
GROUP BY ts_title

有用的阅读: