博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql客户首末单时间 group by用法_20160927
阅读量:5243 次
发布时间:2019-06-14

本文共 1092 字,大约阅读时间需要 3 分钟。

一、取用户第一次下单时间

1 SELECT city,username,`order_date` AS 首单日期,金额 AS 首单金额2 FROM (3     SELECT city,username,`order_date`,SUM(`pay_money`) AS 金额4     FROM `test_a03order`5     GROUP BY username,order_date6     ORDER BY username,order_date#按日期升序7 ) AS a8 GROUP BY username#只用username聚合

二、取用户末单时间

1 SELECT city,username,`order_date` AS 末单日期,金额 AS 末单金额2 FROM (3     SELECT city,username,`order_date`,SUM(`pay_money`) AS 金额4     FROM `test_a03order`5     GROUP BY username,order_date6     ORDER BY username,order_date DESC #按日期降序7 ) AS a8 GROUP BY username#只用username聚合

三、mysql group by 

“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。

取首单日期

1、需要先根据username 和order_date 进行分组 得到username 在每个order_date的金额  并且对username和order_date 进行升序排列 这是一个小的数据表 记为a

2、在a表中再次对username字段进行聚合 则会取username的第一条记录 可得到首单日期 首单金额

取末单日期 

取首单日期时候我们知道  对在a表中再次对username字段进行聚合 则会取username的第一条记录 因此

1、需要先根据username 和order_date 进行分组 得到username 在每个order_date的金额  并且对username和order_date 进行降序排列 这是一个小的数据表 记为b

2、在b表中再次对username字段进行聚合 则会取username的第一条记录 可得到末单日期 末单金额

 

转载于:https://www.cnblogs.com/Mr-Cxy/p/5912228.html

你可能感兴趣的文章
P1107 最大整数
查看>>
监控CPU和内存的使用
查看>>
Ubuntu14.04设置开机自启动程序
查看>>
多进程与多线程的区别
查看>>
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>