当前位置: 首页 > 面试题库 >

按组计算SQL中的百分比

梁丘弘
2023-03-14
问题内容

我从这样的数据库中提取了数据(为简单起见,将其简化),我想添加一个称为“百分比”的列。

ID   GRADE   PERCENTAGE
 1     10        10/(10+20) * 100 -- THIS PART SHOULD BE SHOWN IN DIGIT
 1     20           .
 2     15           15/(15+24+16) * 100
 2     24
 2     16
 3     29
 4     96
 4     159
 .     .
 .     .
 .     .

先感谢您


问题答案:

内部选择得到s的gardeid

select t.id, t.grade, t.grade * 100 / gsum
from your_table t
join
(
   select id, sum(grade) as gsum
   from your_table
   group by id
) tmp on tmp.id = t.id


 类似资料:
  • 问题内容: 我在SQL Server中有一个日志表,看起来像这样: 我想要的是一个结果列表,该列表表示每天处理了多少种不同的退款,并抛出了所有NULL。 我需要编写什么SQL才能产生这些结果? 问题答案: 我喜欢(MS SQL)中的这种方法:

  • 问题内容: 我有4个项目MySQL数据库:(数值),和。 在我的报告中,我需要通过“调查”中的数字来计算已参加调查的“雇员”的百分比。 这是我现在的声明: 表格如下: 我想按参加调查的人数来计算谁所占的百分比。即,如以上数据所示,分别为0%和95%。 问题答案: 尝试这个 在这里演示

  • 我有一个包含4个项的MySQL数据库:(数值)、、和。 在我的中,我需要根据“surveys”中的数字来计算接受调查的“employees”的百分比。 这就是我现在的说法: 下面是表格的原样: 我想根据中的数字计算参加调查的的百分比。即,如上面的数据所示,将为0%,将为95%。

  • 问题内容: 我有以下几点: http://sqlfiddle.com/#!6/226ae/1 我现在尝试为一年中的每个星期添加一行,并相应地过滤联系人。CONTACTS有一个datetime列。新表将如下所示: 我认为需要使用DATEADD,但是在如何开始更改查询方面我迷茫了。 我确实知道MySQL具有GROUP BY WEEK命令,但我认为SQL没有等效的命令。做到这一点的最佳方法是什么? 问题

  • 我试图计算数字的百分比(取自一个文本字段),并将计算值设置为另一个表单字段。为此,我尝试了下面的代码,但我发现js正在检测的键事件/小数位数不匹配。 例如,如果我在第一个输入字段中提供100(以计算1.75的百分比),根据我的js代码,我预计是1.75,但在第二个文本字段中是0.175。我知道这是一个非常简单的计算,但我无法解决这个问题。

  • 问题内容: 如何在SQL中将其转换为小数?下面是方程式,我的答案是78(整数),但实际答案是78.6(带小数点),因此我需要显示此答案,否则报告将不会达到100% 问题答案: 丑陋,但是行得通。