假设我有一个如下表:
ID RANK SALARY
---------------------
1 Manager 10
2 Temp 5
3 Manager 15
4 Manager 25
我想找到所有经理的人数和工资总和
SELECT COUNT(Rank), SUM(Salary)
FROM Staff
WHERE Rank = Manager
我想知道我的语法是否正确。
另外,对于计算最高/最低/平均工资,只需使用像min / max / avg这样的聚合函数吗? (在同一张表中同时包含最低/最高工资)。即。
SELECT MAX(Salary),
MIN(Salary)
FROM Staff
我只是想知道,因为它看起来太简单了。
答案 0 :(得分:1)
首先,根据您的设计外观,您可能在第一个查询中缺少引号:
SELECT count(Rank), Sum (Salary)
FROM Staff
WHERE Rank = 'Manager'
此外,您可能希望同时查看所有排名(不仅是经理)的所有计数和总和。如果是这样,你应该试试这个:
SELECT Rank, count(Rank), Sum (Salary)
FROM Staff
GROUP BY Rank
此外,您可能希望在逐个排名的基础上使用多个聚合函数,如下所示:
SELECT Rank, Max(Salary), min(Salary), AVG(Salary)
FROM Staff
GROUP BY Rank
而且,是的,这些都是简单的查询。一般情况下,SQL很简单,应该是。
答案 1 :(得分:0)
从广义上讲,这样的简单要求很简单。所以是的!
答案 2 :(得分:0)
对我来说很好看。聚合函数非常有用!