Рассчитать процент, используя запрос в SQL Server - PullRequest
0 голосов
/ 16 марта 2019

Я хочу рассчитать процент от двух столбцов после суммы существующей записи, связанной с конкретным пользователем.

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

1 Ответ

0 голосов
/ 16 марта 2019

Вы не можете использовать псевдонимы столбцов, если они определены. Вместо этого повторите выражения:

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. Это предотвращает целочисленное деление, если столбцы оказываются целыми числами.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...