Heim  >  Artikel  >  Datenbank  >  sqlserver 中group by的用法

sqlserver 中group by的用法

WBOY
WBOYOriginal
2016-06-07 15:51:341284Durchsuche

欢迎进入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] 

sqlserver 中group by的用法

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:oracle,sqlserver 2000分页查询Nächster Artikel:看懂SqlServer查询计划