六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

MySQL中count(), group by, order by的具體使用詳細說明

[摘要]mysql中order by 排序查詢、asc升序、desc降序,group by 分組查詢、having 只能用于group by子句、作用于組內,having條件子句可以直接跟函數表達式。使用group by 子句的查詢語句需要使用聚合函數。最近做IM的時候遇到一個問題,同時用到了這三個關鍵...
mysqlorder 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的具體使用詳解的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 热99热| 伊人免费网 | 伊人久久五月 | 日韩久久影院 | 日韩久久中文字幕 | 亚洲国产精品欧美日韩一区二区 | 色天天色综合 | 欧美性猛交一区二区三区 | 一级做性色a爰片久久毛片 一级做受视频免费是看美女 | 日本视频在线观看播放免费 | 先锋影音国产精品 | 无人码一区二区三区视频 | 四虎影院色 | 最近免费观看高清韩国日本大全 | 青草视频青年娱乐 | 自拍视频在线看 | 亚洲91视频 | 人人免费人人专区 | 欧美性xxxx偷拍 | 亚洲第一免费视频 | 日韩激情成人 | 在线人成精品免费视频 | 日韩在线观看精品 | 亚洲人与牲动交xxxxbbbb | 下克上动漫第一集 | 亚洲综合中文 | 欧美中文字幕 | 天天躁狠狠躁狠狠躁夜夜躁 | 天天看片夜夜爽 | 伊人中文字幕在线观看 | 中文字幕一区在线观看 | 亚洲sss| 亚欧日韩毛片在线看免费网站 | 日韩黄色免费观看 | 中文字幕 一区 婷婷 在线 | 日韩国产欧美在线观看 | 色爱区综合五月激情 | 天天操天天干天天玩 | 日本一区二区在线播放 | 青青青免费高清在线观看视频在线 | 日日噜噜噜噜人人爽亚洲精品 |