当前位置:首页 > SQL > 正文内容

groupby 汇总

高老师6年前 (2019-01-30)SQL1556

现在有张表products是产品表,vend_id是供应商id,prod_price是供应价格,现在需要统计每个供应商供应了多少商品,供应商品的平均价格,sql如下:

SELECT
	vend_id,
	AVG( prod_price ),
	COUNT( * ) AS num_prods 
FROM
	products 
GROUP BY
	vend_id

输出结果如下:

vend_id	   AVG(prod_price)	num_prods
1001	   10.323333	        3
1002	   6.205000	        2
1003	   13.212857	        7
1005	   45.000000	        2

然后我们还想统计平均值总和、汇总商品数,sql如下:

SELECT
	vend_id,
	AVG( prod_price ),
	COUNT( * ) AS num_prods 
FROM
	products 
GROUP BY
	vend_id WITH ROLLUP

多增加一个WITH ROLLUP即可实现汇总字段,结果如下:

vend_id	   AVG( prod_price )	num_prods
1001	   10.323333	        3
1002	   6.205000	        2
1003	   13.212857	        7
1005	   45.000000	        2
	   16.133571	        14

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/322.html

分享给朋友:

“groupby 汇总” 的相关文章

mysql group分组排序

mysql group分组排序

下面的是商品数据表,id是主键,catename是分类,titile是标题,price是价格,现在要求计算每种分类下的商品平均价格.id     catename       &n...

MySQL中的where和having的区别

MySQL中的where和having的区别

   where与having非常类似.都能筛选数据.表达式完全一致.    但是职责的确不同.where负责对表中的字段进行筛选,having负责对where筛选后的结果集再次筛选。这也就是where不能使用别名字段来筛选的原因,因为数据中没有这个字段。&n...

Mysql子句查询陷阱

Mysql子句查询陷阱

例如我们需要查询商品表中每个分类中商品id最大的记录,并且显示商品价格以下是表结构:id     catename         title &nb...

mysql没有快捷方式,mysql快捷方式,mysql启动快捷方式

mysql没有快捷方式,mysql快捷方式,mysql启动快捷方式

有很多集成环境安装完成之后是没有快捷方式的,例如西部数码的网站管理助手4.0,、 更或者是护卫神PHP套件都是一样的。安装完成最多给你安装一个PhPmyadmin让你管理Mysql,但是对于经常使用命令行的我们来说是非常不方面的,而且还必须安装PhPmyadmin来管理。下面就让我们自己手...

mysql触发器,mysql触发器语法,mysql创建触发器

mysql触发器,mysql触发器语法,mysql创建触发器

    触发器是一种特殊的事务,可以监听到Mysql的(insert/update/delete)的操作并触发相应的(insert/update/delete)操作.    触发器的创建主要有4个要素:(1).监听地点(...

mysql diff,mysqldiff 安装,mysqldiff 用法

mysql diff,mysqldiff 安装,mysqldiff 用法

项目和第三方系统对接,由于第三方开发人员属于兼职,数据库结构不一致的问题只能我来处理。此处文章用本地模拟演示。数据库资料:1号服务器:  账号root 密码root  IP:127.0.0.1  数据库名称:data1 2号服务器...