码迷,mamicode.com
首页 > 数据库 > 详细

【MySQL必知必会】第十三章 分组数据

时间:2017-05-21 09:47:44      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:bsp   where   product   根据   排序   必知必会   sql   对象   别名   

1、创建分组

  输入:

  SELECT vend_id , COUNT(*) AS num_prods

  FROM products

  GROUP BY vend_id;

  输出:

  vend_id  num_prods

  1001    3

  1002    7

  分析:选定要显示的列:vend_id和num_prods(行数统计列的新建的别名),选定来源表:products,分组依据:根据vend_id进行排序并进行数据分组统计。GROUP BY子句必须出现在WHERE子句之前,ORDER BY子句之后。

2、过滤分组

  使用HAVING关键字,语法和WHERE一致,只是过滤对象不同,一个是行,一个是组。值得注意的是,同时使用WHERE和HAVING关键字,WHERE关键字过滤掉的行,不会在HAVING关键字里进行统计分组。

  输入:

  SELECT  cust_id,COUNT (*) AS orders

  FROM  orders

  GROUP BY cust_id

  HAVING COUNT(*) >=2;

  输出:

  cust_id  orders

  1001    2

  分析:

  输出两列:cust_is和orders(新建列的别名,所有行的数目,包括null行);

  表源:cust_id;

  分组过滤依据:按照cust_id列的每一行进行数据统计,并形成 cust_id-行数 的映射键值对,然后在根据cust_id列的顺序排序映射键值对;

  过滤分组: cust_id-行数 映射对中 行数 大于等于2的映射对可以保留。

 

【MySQL必知必会】第十三章 分组数据

标签:bsp   where   product   根据   排序   必知必会   sql   对象   别名   

原文地址:http://www.cnblogs.com/Hystudio-lzu/p/6883743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!