1

我尝试了以下查询,但没有给出我需要的答案

SELECT fname, SUM(salary) FROM employee

我需要将所有 fname 记录和 Sum 值作为下一列。

我从这个查询中得到的只是第一个 fname 记录和薪水的总和。(只有第一个 fname 值)

4

1 回答 1

4

您需要添加GROUP BY

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

大多数 RDBMS 会将您的原始查询视为无效而拒绝。

或者,如果支持该子句,则可以响应SUM从整个表中获取作为附加列的注释,您可以使用OVER

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

如果不是,您可以使用非相关子查询。

SELECT fname, (SELECT SUM(salary) FROM employee)
FROM employee
于 2011-10-25T11:41:21.383 回答