Rumah >pangkalan data >tutorial mysql >sqlserver 中group by的用法

sqlserver 中group by的用法

WBOY
WBOYasal
2016-06-07 15:51:341302semak imbas

欢迎进入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的用法

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:oracle,sqlserver 2000分页查询Artikel seterusnya:看懂SqlServer查询计划