日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql orderby count_mysql中count(),groupby,orderby使用方法分享

發(fā)布時(shí)間:2023/12/2 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql orderby count_mysql中count(),groupby,orderby使用方法分享 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文主要和大家分享mysql中count(), group by, order by使用方法,mysql中order by 排序查詢、asc升序、desc降序,group by 分組查詢、having 只能用于group by子句、作用于組內(nèi),having條件子句可以直接跟函數(shù)表達(dá)式。使用group by 子句的查詢語句需要使用聚合函數(shù)。

最近做IM的時(shí)候遇到一個(gè)問題,同時(shí)用到了這三個(gè)關(guān)鍵字。就是查詢一個(gè)人的離線消息詳情,我們服務(wù)端返回給客戶端顯示的這個(gè)詳情包括了三個(gè)內(nèi)容,第一個(gè)要求列出離線這段時(shí)間哪些人或者群給你發(fā)了消息,第二個(gè)這其中的某個(gè)人或者群發(fā)了多少條離線消息,第三個(gè)拿出最新的一條顯示出來。很明顯,group by分組哪些人或者群給你發(fā)了離線消息,count()得到離線消息數(shù)量,order by時(shí)間來排序拿出最新的消息。

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一起檢索就報(bào)錯(cuò)了,我們可以用嵌套子查詢。

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;

我們可以對已經(jīng)排序的結(jié)果集,再來分組并計(jì)算數(shù)量。這里還有一個(gè)暗坑,我自己不小心給躲過去了,其實(shí)count()會(huì)造成order by排序無效,舉個(gè)例子:

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;

這個(gè)語句最后得到的一條記錄,其中的msg_data其實(shí)是根本沒有排序的結(jié)果,也就是數(shù)據(jù)庫原順序,應(yīng)該是先插入的一條消息,就是說時(shí)間舊的消息。為了避免這個(gè)問題,所以嵌套子查詢在這里先排序,再讓它去count()就規(guī)避了。自己無意躲過去了,還好反復(fù)改語句測試了一番才發(fā)現(xiàn)。

相關(guān)推薦:

有關(guān)count()的文章推薦10篇

MySql中使用Group By對多個(gè)字段進(jìn)行分組的方法

詳解MySQL中Order By多字段排序規(guī)則

總結(jié)

以上是生活随笔為你收集整理的mysql orderby count_mysql中count(),groupby,orderby使用方法分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。