使用SQL Server中的查询计算百分比

时间:2019-03-16 11:29:36

标签: sql sql-server

我想计算与特定用户相关的现有记录的总和后两列的百分比。

SELECT SUM(total_marks) AS TotalMarks, 
SUM(obt_marks) AS ObtainedMarks, 
TotalMarks/ObtainedMarks*100 As Percentage 
FROM ExamResult WHERE (student_id = '5')

1 个答案:

答案 0 :(得分:0)

一旦定义了列别名,就不能使用。而是重复以下表达式:

SELECT SUM(total_marks) AS TotalMarks, 
       SUM(obt_marks) AS ObtainedMarks, 
       SUM(total_marks)  * 100.0 / SUM(obt_marks) As Percentage 
FROM ExamResult
WHERE student_id = 5;

注意:

  • 我删除了5周围的单引号。大概id列是数字,而不是字符串。 (如果是字符串,请保留引号)。
  • 我在除法之前乘以100 。我发现这种逻辑更容易遵循(您不必考虑先处理哪个,即乘法或除法)。
  • 我在100上加了一个小数点。如果列碰巧是整数,则可以防止整数除法。