千家信息网

mysql中count(), group by, order by怎么用

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关mysql中count(), group by, order by怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mysql中count(),
千家信息网最后更新 2025年11月08日mysql中count(), group by, order by怎么用

这篇文章给大家分享的是有关mysql中count(), group by, order by怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

mysql中count(), group by, order by使用方法,mysql中order by 排序查询、asc升序、desc降序,group by 分组查询、having 只能用于group by子句、作用于组内,having条件子句可以直接跟函数表达式。使用group by 子句的查询语句需要使用聚合函数。

最近做IM的时候遇到一个问题,同时用到了这三个关键字。就是查询一个人的离线消息详情,我们服务端返回给客户端显示的这个详情包括了三个内容,第一个要求列出离线这段时间哪些人或者群给你发了消息,第二个这其中的某个人或者群发了多少条离线消息,第三个拿出最新的一条显示出来。很明显,group by分组哪些人或者群给你发了离线消息,count()得到离线消息数量,order by时间来排序拿出最新的消息。

select count(1) as cnt, msg_data from t_im_chat_offline_msg where to_company_id = ? and to_user_id = ? order by create_time desc group by from_company_id, from_user_id;

; 。、然后果不其然group by和order by一起检索就报错了,我们可以用嵌套子查询。

select count(1) as cnt, msg_data from (select * from t_im_chat_offline_msg where to_company_id = ? and to_user_id = ? order by create_time desc) as temp_table group by from_company_id, from_user_id;

我们可以对已经排序的结果集,再来分组并计算数量。这里还有一个暗坑,我自己不小心给躲过去了,其实count()会造成order by排序无效,举个例子:

select count(1) as cnt, msg_data from t_im_chat_offline_msg where to_company_id = ? and to_user_id = ? order by create_time desc;

这个语句最后得到的一条记录,其中的msg_data其实是根本没有排序的结果,也就是数据库原顺序,应该是先插入的一条消息,就是说时间旧的消息。为了避免这个问题,所以嵌套子查询在这里先排序,再让它去count()就规避了。自己无意躲过去了,还好反复改语句测试了一番才发现。

感谢各位的阅读!关于"mysql中count(), group by, order by怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

消息 排序 查询 三个 内容 子句 时间 语句 分组 函数 套子 就是 数量 更多 篇文章 结果 详情 问题 不错 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小学网络安全顺口溜 网络安全的征文4年级 华北计算技术研究所软件开发待遇 数据库用rsync同步数据文件 网络技术与区块链 不同的软件开发所用的系统 软件工程自考计算机网络技术 山东谷联网络技术有限公司官网 新天堂2服务器 别人要调用我们的数据库 网络安全人员年龄 河北推广软件开发方案 对局服务器延迟极高怎么回事 百川信网络技术有限公司 2019网络安全工作汇报 上海高品质服务器咨询客服 服务器上内存怎么那么大 哪些软件开发模型是增量模型 数据库组织架构和角色对应关系 java开发什么软件开发 泡泡战士服务器 佳能750打印机服务器系统 网络是网络安全手抄报 乐陵软件开发学习网站哪里好 信息保密_网络安全方面 网站怎么与数据库相连接 公安网络安全专项检查 用指令怎么查看数据库 金融科技与互联网融合发展 软件方向和网络安全哪个好
0