【问题标题】:SQL query syntax for count/sum计数/总和的 SQL 查询语法
【发布时间】:2011-07-14 18:52:31
【问题描述】:

假设我有一个如下表:

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

我只是想知道,因为它似乎太简单了。

【问题讨论】:

  • 你为什么不自己尝试一下?
  • 我的电脑上没有 sql,所以我正在下载 :) 但是谢谢!

标签: sql aggregate-functions


【解决方案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 很简单,它应该是。

【讨论】:

    【解决方案2】:

    我觉得不错。聚合函数非常有用!

    【讨论】:

      【解决方案3】:

      从广义上讲,像这样的简单要求很简单。所以是的!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-09
        • 1970-01-01
        • 2021-11-09
        • 1970-01-01
        • 1970-01-01
        • 2012-05-10
        • 1970-01-01
        • 2012-09-10
        相关资源
        最近更新 更多