91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql group by與order by的區別

發布時間:2021-09-24 10:33:41 來源:億速云 閱讀:161 作者:iii 欄目:數據庫

本篇內容介紹了“mysql group by與order by的區別”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

代碼如下:


CREATE TABLE `test` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`category_id` INT(10) NOT NULL,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM
ROW_FORMAT=DEFAULT;
INSERT INTO `test` (`id`, `name`, `category_id`, `date`)
VALUES
(1, 'aaa', 1, '2010-06-10 19:14:37'),
(2, 'bbb', 2, '2010-06-10 19:14:55'),
(3, 'ccc', 1, '2010-06-10 19:16:02'),
(4, 'ddd', 1, '2010-06-10 19:16:15'),
(5, 'eee', 2, '2010-06-10 19:16:35');


mysql group by與order by的區別
我現在需要取出每個分類中最新的內容

復制代碼 代碼如下:


select * from test group by category_id order by `date`


結果如下
mysql group by與order by的區別
明顯。這不是我想要的數據,原因是msyql已經的執行順序是

引用


寫的順序:select ... from... where.... group by... having... order by..
執行順序:from... where...group by... having.... select ... order by...


所以在order by拿到的結果里已經是分組的完的最后結果。
由from到where的結果如下的內容。
mysql group by與order by的區別
到group by時就得到了根據category_id分出來的多個小組
mysql group by與order by的區別
mysql group by與order by的區別
到了select的時候,只從上面的每個組里取第一條信息結果會如下
mysql group by與order by的區別
即使order by也只是從上面的結果里進行排序。并不是每個分類的最新信息。
回到我的目的上 --分類中最新的信息
根據上面的分析,group by到select時只取到分組里的第一條信息。有兩個解決方法
1,where+group by(對小組進行排序)
2,從form返回的數據下手腳(即用子查詢)

由where+group by的解決方法
對group by里的小組進行排序的函數我只查到group_concat()可以進行排序,但group_concat的作用是將小組里的字段里的值進行串聯起來。

select group_concat(id order by `date` desc) from `test` group by category_id


mysql group by與order by的區別
再改進一下

select * from `test` where id in(select SUBSTRING_INDEX(group_concat(id order by `date` desc),',',1) from `test` group by category_id ) order by `date` desc


mysql group by與order by的區別

子查詢解決方案

select * from (select * from `test` order by `date` desc) `temp`  group by category_id order by `date` desc


mysql group by與order by的區別 

“mysql group by與order by的區別”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜川市| 龙江县| 江阴市| 辽阳县| 固镇县| 双辽市| 且末县| 太谷县| 通辽市| 新丰县| 桓台县| 武川县| 阆中市| 宁晋县| 广水市| 德令哈市| 扶风县| 宿迁市| 咸丰县| 斗六市| 西丰县| 武宣县| 大理市| 阿巴嘎旗| 怀远县| 马鞍山市| 长武县| 三亚市| 房产| 五家渠市| 赞皇县| 屏东县| 松桃| 德保县| 阳谷县| 安庆市| 葫芦岛市| 大庆市| 西和县| 渭南市| 定兴县|