电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

mysql中groupby的常规用法实例说明

  • 资源ID:47196201       资源大小:28.15KB        全文页数:4页
  • 资源格式: DOCX        下载积分:0金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要0金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

mysql中groupby的常规用法实例说明

mysqlmysql 中中 groupgroup byby 的常规用法实例说明的常规用法实例说明1.1. groupgroup byby 的常规用法的常规用法group by 的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合 max 等聚合函数筛选数据后分析,以及配合 having 进行筛选后过滤。假设现有数据库表如下:表 user_info,id 主键,user_id 唯一键? 1 2 3 4 5 6 7 8 9CREATE TABLE user_info (id INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键 id',user_id VARCHAR(50) NOT NULL DEFAULT '' COMMENT '用户编号',grade VARCHAR(50) NOT NULL DEFAULT '' COMMENT '年级',class VARCHAR(50) NOT NULL DEFAULT '' COMMENT '班级',PRIMARY KEY (id), 捕鱼游戏 www.44771.netUNIQUE INDEX uniq_user_id (user_id) ) ENGINE=InnoDB数据? 1 2 3 4 5 6 7 8 9 10INSERT INTO user_info (id, user_id, grade, class) VALUES (10, '10230', 'C', 'B'); INSERT INTO user_info (id, user_id, grade, class) VALUES (9, '10229', 'C', 'a'); INSERT INTO user_info (id, user_id, grade, class) VALUES (8, '10228', 'B', 'b'); INSERT INTO user_info (id, user_id, grade, class) VALUES (7, '10227', 'B', 'b'); INSERT INTO user_info (id, user_id, grade, class) VALUES (6, '10226', 'B', 'a'); INSERT INTO user_info (id, user_id, grade, class) VALUES (5, '10225', 'B', 'a'); INSERT INTO user_info (id, user_id, grade, class) VALUES (4, '10224', 'A', 'b'); INSERT INTO user_info (id, user_id, grade, class) VALUES (3, '10223', 'A', 'b'); INSERT INTO user_info (id, user_id, grade, class) VALUES (2, '10222', 'A', 'a'); 棋牌评测网 www.77884.netINSERT INTO user_info (id, user_id, grade, class) VALUES (1, '10221', 'A', 'a');idid user_iduser_idgradegrade classclass110221Aa210222Aa310223Ab410224Ab510225Ba610226Ba710227Bb810228Bb910229Ca10 10230Cb聚合函数 max? 1select max(user_id),grade from user_info group by grade ;结果max(user_id)max(user_id) gradegrade10224A10228B10230C这条 sql 的含义很明确,将数据按照 grade 字段分组,查询每组最大的 user_id 以及当前组内容。注意,这里分组条件是 grade,查询的非聚合条件也是 grade。这里不产生冲突。having? 1select max(user_id),grade from user_info group by grade having grade>'A'结果max(user_id)max(user_id) gradegrade10228B10230C这条 sql 与上面例子中的基本相同,不过后面跟了 having 过滤条件。将 grade 不满足>A的过滤掉了。注意,这里分组条件是 grade,查询的非聚合条件也是 grade。这里不产生冲突。2.2. groupgroup byby 的非常规用法的非常规用法? 1select max(user_id),id,grade from user_info group by grade结果max(user_id)max(user_id) idid gradegrade102241 A102285 B102309 C这条 sql 的结果就值得讨论了,与上述例子不同的是,查询条件多了 id 一列。数据按照 grade 分组后,grade 一列是相同的,max(user_id)按照数据进行计算也是唯一的,id一列是如何取值的?看上述的数据结果,推论:id 是物理内存的第一个匹配项。究竟是与不是需要继续探讨。修改数据修改数据修改 id 按照上述数据结果,将 id=1,改为 id=99,执行 sql 后结论:max(user_id)max(user_id) idid gradegrade102242 A102285 B102309 C显然,与上述例子的结果不同。第一条数据 id 变成了 99,查出的结果第一条数据的id 从 1 变成了 2。表明,id 这个非聚合条件字段的取值与数据写入的时间无关,因为 id=1的记录是先于 id=2 存在的,修改的数据不过是修改了这条数据的内容。结合 mysql 的数据存储理论,由于 id 是主键,所以数据在检索是是按照主键排序后进行过滤的,因此推论:id 字段的选取是按照 mysql 存储的检索数据匹配的第一条。将 id 改为 1 后恢复了原始结果,无法推翻上述推论。更改查询条件? 1select max(user_id),user_id,id,grade from user_info group by grade1max(user_id)max(user_id) user_iduser_ididid gradegrade10224102211 A10228102255 B10230102299 C将数据 user_id 改为 10999 后,执行结果为max(user_id)max(user_id) user_iduser_ididid gradegrade10224109991 A10228102255 B10230102299 C修改了 user_id 后,并没有改变查询到的数据条目,因此得出修改唯一键并不能影响查询匹配的条目规则,所以条目规则依然是匹配第一条,即 id=1。结论结论当 group by 与聚合函数配合使用时,功能为分组后计算当 group by 与 having 配合使用时,功能为分组后过滤当 group by 与聚合函数,同时非聚合字段同时使用时,非聚合字段的取值是第一个匹配到的字段内容,即 id 小的条目对应的字段内容。

注意事项

本文(mysql中groupby的常规用法实例说明)为本站会员(m****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

分享当前资源【mysql中groupby的常规用法实例说明】到朋友圈,您即可以免费下载此资源!
微信扫一扫分享到朋友圈
二维码
操作提示:任选上面一个二维码,打开微信,点击“发现”使用“扫一扫”,即可将选择的网页分享到朋友圈
您可能感兴趣的------------------------------------------------------------------------------------------------------



关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.