位置: 编程技术 - 正文

mysql中count(), group by, order by使用详解

编辑:rootadmin

推荐整理分享mysql中count(), group by, order 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一起检索就报错了,我们可以用嵌套子查询。

mysql中count(), 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()就规避了。自己无意躲过去了,还好反复改语句测试了一番才发现。

Linux下安装配置MySQL 系统:Ubuntu.LTS1官网下载mysql-5.7.-linux-glibc2.5-x_.tar.gz2建立工作组:$su#groupaddmysql#useradd-r-gmysqlmysql3创建目录#mkdir/usr/local/mysql#mkdir/usr/local/mysql/data4

mysql中索引与FROM_UNIXTIME的问题 零、背景这周四收到很多告警,找DBA看了看,发现有个慢查询。简单收集一些信息后,发现这个慢查询问题隐藏的很深,问了好多人包括DBA都不知道原

mysql中mydumper 和 mysqldump 对比使用 如果只是备份几张表或单个库,相比innobackup而言,mysqldump和mydumper更为方便,不过mydumper增加了相对较多的特性,比如多线程备份,正则匹配备份,分组和自检等

标签: mysql中count(), group by, order by使用详解

本文链接地址:https://www.jiuchutong.com/biancheng/349377.html 转载请保留说明!

上一篇:MySQL存储全角字符和半角字符的区别(mysql存文章的字段设置为多大?)

下一篇:Linux下安装配置MySQL(linux的安装)

  • 金税盘数据怎么备份
  • 出租房屋取得的收入计入什么
  • 少数股东损益是
  • 办公室购买清洁剂
  • 企业按照行业分类为
  • 年报中的工会经费是什么
  • 个人所得税B表和C表
  • 房屋租赁收入如何征税?
  • 法定盈余公积和法定公积金一样吗
  • 小规模纳税人购置税控设备
  • 技术服务费属于现代服务吗
  • 多出来的费用
  • 符合营改增应税服务规定的有
  • 餐饮公司收到的拍摄服务票做什么费用
  • 福利费不交个人所得税会怎么样
  • 营改增后停车费税率
  • 营改增行业注释
  • 继承安置房需要过户吗?
  • 预缴两个点的税是什么意思
  • 工程领用工程物资180万元
  • 一般纳税人收到普票如何入账
  • 房地产开发企业资质等级有几个
  • 无法支付的其他应付款可以用现金核销吗
  • 企业为职工缴纳的五险一金占工资总额的多少
  • BT模式建设项目怎么处理税收?
  • 在租的土地上建房
  • 技术服务费进项发票怎么做分录
  • SymSPort.exe - SymSPort是什么进程 有何作用
  • 待抵扣的进项税因不能抵扣做转出的会计处理
  • 收到棚户区改造资金
  • 公司收到加盟费怎么做会计分录
  • 苹果mac画图工具
  • 小规模纳税人多久缴纳一次增值税
  • 土地使用税滞纳金不得超过
  • 企业固定资产有哪些
  • 当月进项税额转出当月申报吗
  • php验证身份证号
  • 微信小程序制作
  • 扩散分类
  • 10-Ajax&Vue
  • 残疾人就业保障金怎么申报
  • 门诊收费票据能作为报销凭证吗
  • 增值税专用发票进项
  • 房地产企业预缴增值税会计处理
  • 开票一定要确认发票吗
  • 企业发生待摊费会计分录
  • 智能手机登陆信息怎么删除
  • 企业盈余公积的主要用途是
  • 固定资产盘盈属于其他业务收入吗
  • Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
  • 一次性取得租赁合同
  • sqlserver分布式事务
  • 收到股东投资款需要交印花税吗
  • 营改增土地出让金抵减销售额如何做账及申报纳税的...
  • 财务会计应收票据
  • 交易性金融资产公允价值变动怎么算
  • 给客户的回扣怎么表达
  • 收到上月已付款的材料
  • 非同一控制下企业合并发生的审计费
  • 配件销售人员应该具备哪些能力
  • 当月开具的专票可以当月抵扣吗
  • 金税盘每年服务费可以抵扣吗
  • 发票开预付卡充值可以计入费用吗?
  • 税前扣除项目主要包括
  • 修建的道路怎么做账
  • 农产品加计扣除10%进项税账务处理
  • 固定资产原值的构成内容是
  • 怎样银行存款,预付帐款,应收帐款余额做资金平衡表
  • sqlserver存储过程在哪里
  • mysql innode
  • Vista Virtual PC软件安装XP系统
  • ac1st19.dll
  • xp系统屏幕倒过来了怎么恢复
  • psoft1.exe - psoft1是什么进程 有什么作用
  • 如何重置路由器wifi密码
  • Tutorial 3: First Triangle
  • 创建步骤
  • jquery父节点
  • 医保已申报未缴费可以撤销申报吗
  • 对税务巡视工作的意见
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设