分享主题:linux,nginx,php,mysql

mysql子查询结果再关联查询,对group by结果进行联合查询

mysql 现在加入小程序俱乐部QQ群:483987340

在mysql数据库开发中,
经常会用到对子查询结果关联到其它表进行联合查询,
比如 select 得到一个结果 A,
要求 A 与 表1 关联查询。

mysql group by join查询

下面举个例子做记录,
用户表 user 包含 id, user_name, headimg 3个字段
订单表 order 包含 user_id, oder_time 两个字段

一、 group by统计某个时间段用户的下单次数

select user_id, count(0) as total from order where order_time > 1602640000 group by id;

根据上面的语句,
你很容易使用where条件写了上一周,上一月,下一周,下一月的统计区间。

二、 group by结果再进行联合查询

根据上面得到的一个结果集,
可以关联 user 表,
查询出用户的名称和头像等信息。

select u.user_name, u.headimg, o.user_id, p.total from user as u, (select user_id, count(0) as total from order where order_time > 1602640000 group by id ) as o where u.id = o.user_id;

当然你也可以使用 join 进行左关联,右关联查询。

三、 子查询,group by关联查询加排序

我们一般会对group by的统计结果进行排序,
可以使用下面的查询语句,

select u.user_name, u.headimg, o.user_id, p.total from user as u, (select user_id, count(0) as total from order where order_time > 1602640000 group by id ) as o where u.id = o.user_id order by o.total desc;

猛击这里
观看子恒老师《微信小程序项目开发》系列视频
了解实现过程和下载相关源代码

声明:本文仅供交流学习 , 版权归属原作者,部分文章未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知QQ:58842997,我们会及时删除。
秦子恒公众号

来源:秦子恒博客,欢迎转载分享,请保留出处

mysql子查询结果再关联查询,对group by结果进行联合查询链接:https://www.qinziheng.com/mysql/9455.htm

现在就加入微信开发QQ群2:483987340,跟同行探讨微信公众平台开发。群满就关闭,你得等到下一个群开通才能加入……

喜欢 (0)