当前位置:Gxlcms > mysql > sqlserver中groupby的用法

sqlserver中groupby的用法

时间:2021-07-01 10:21:17 帮助过:65人阅读

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 每个谓词将组特性(如 AVG(SALARY))与下列之一进行比较该组的另一个特性 例如: HAVING AVG(SALARY) 2 * MIN(SALARY) 常数 例如: HAVING AVG(SALARY) 20000 例如,下列查询寻找雇员数超

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入

  每个谓词将组特性(如 AVG(SALARY))与下列之一进行比较该组的另一个特性 例如: HAVING AVG(SALARY) > 2 * MIN(SALARY) 常数

  例如: HAVING AVG(SALARY) > 20000

  例如,下列查询寻找雇员数超过 4 的部门的最高和最低薪水:

  代码示例: SELECT WORKDEPT, MAX(SALARY)AS MAXIMUM, MIN(SALARY) AS MINIMUM

  FROM EMPLOYEE

  GROUP BY WORKDEPT

  HAVING COUNT(*) > 4 ORDER BY WORKDEPT

  结果:

  WORKDEPT MAXIMUM MINIMUM

  -------- ----------- -----------

  D11 32250.00 18270.00

  D21 36170.00 17250.00

  E11 29750.00 15340.00

  有可能(虽然很少见)查询有 HAVING 子句但没有 GROUP BY 子句。在此情况下,DB2 将整个表看作一个组。因为该表被看作是单个组,所以最多可以有一个结果行。如果 HAVING 条件对整个表为真,则返回选择的结果(该结果必须整个由列函数组成);否则不返回任何行。 官方讲是按组操作, 或者好理解点就是按类操作。

  通过如下的例子,加深你的理解。

  表如下:

  代码示例: ID 名称 仓库 数量

  01 西瓜 一号 10

  02 西瓜 二号 30

  03 大米 一号 30

  04 苹果 一号 40

  05 苹果 二号 45

  06 苹果 三号 5

  语句:

  代码示例:Select name,Sun(price) From 表 Group By name

  将返回各种商品的总数量,而不管是哪个仓库的

  结果:

  西瓜,40

  大米,30

  苹果,90

[1] [2]

人气教程排行