计数/求和的SQL查询语法

时间:2011-07-14 18:52:32

标签: sql aggregate-functions

假设我有一个如下表:

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

我只是想知道,因为它看起来太简单了。

3 个答案:

答案 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)

对我来说很好看。聚合函数非常有用!