我有一个名为 URP_PROJECT 的表,一个名为 ts_title 的列。列 ts_title 下有不同的记录数据。如何计算 ts_title 下的每条记录的百分比?根据下面的SQL查询添加百分比列。
我从:
开始SELECT ts_title
COUNT(ts_title)AS百分比
帮我继续,谢谢
答案 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
有用的阅读: