Функция SQL SUM - PullRequest
       18

Функция SQL SUM

1 голос
/ 25 октября 2011

Я попробовал следующий запрос, но он не дает ответа, который мне нужен

SELECT fname, SUM(salary) FROM employee

Мне нужно иметь все записи fname и значение Sum в качестве следующего столбца.

Из этого запроса я получаю только первую запись fname и общую сумму зарплат (только 1-е значение fname)

1 Ответ

4 голосов
/ 25 октября 2011

Вам нужно добавить GROUP BY

SELECT fname, SUM(salary) 
FROM employee
GROUP BY fname

Большинство РСУБД отклонят ваш исходный запрос как недействительный.

Или в ответ на комментарий, чтобы получить SUM из всей таблицы в качестве дополнительного столбца, если поддерживается условие OVER, вы можете использовать

SELECT fname, SUM(salary) OVER ()
FROM employee

А если нет, вы можете использовать некоррелированный подзапрос.

SELECT fname, (SELECT SUM(salary) FROM employee)
FROM employee
...