《Mysql必讀mysql分組查詢示例代碼》要點:
本文介紹了Mysql必讀mysql分組查詢示例代碼,希望對您有用。如果有疑問,可以聯(lián)系我們。
本節(jié)內(nèi)容:
mysql 分組查詢.MYSQL應用
一、表布局
--
-- 表的布局 `client_status`
--MYSQL應用
CREATE TABLE IF NOT EXISTS `client_status` (
? `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
? `client_id` mediumint(8) unsigned NOT NULL,
? `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
? PRIMARY KEY (`id`),
)MYSQL應用
--
-- 轉(zhuǎn)存表中的數(shù)據(jù) `client_status`
--MYSQL應用
INSERT INTO `client_status` (`id`, `client_id`, `addtime`) VALUES
(3, 1,? '2012-03-26 10:32:30'),
(4, 1,? '2012-03-26 10:30:31'),
(5, 1,? '2012-03-26 10:30:32'),
(6, 2,? '2012-03-26 10:30:33'),
(7, 2,? '2012-03-26 10:30:34'),
(8, 4,? '2012-03-26 10:30:35'),
(9, 4,? '2012-03-26 10:30:36'),
(10, 3,? '2012-03-26 10:30:37'),
(11, 3,? '2012-03-26 10:30:38');MYSQL應用
二、需求目的
按client_id分組,查詢每個client_id中離目前時間最近的記錄.MYSQL應用
查詢結果示意,如下:
?MYSQL應用
三、解決辦法(mysql 分組查詢實例)MYSQL應用
例1:
SELECT * FROM (SELECT * FROM client_status ORDER BY addtime DESC )a GROUP BY client_idMYSQL應用
explain闡發(fā)
?MYSQL應用
例2:
SELECT * FROM client_status a WHERE NOT EXISTS (SELECT 1 FROM client_status WHERE a.client_id = client_id AND a.addtime < addtime)MYSQL應用
explain闡發(fā)
?MYSQL應用
例3:
SELECT * FROM `client_status` WHERE addtime IN (SELECT max( addtime ) FROM client_status GROUP BY client_id )MYSQL應用
explain闡發(fā)MYSQL應用
歡迎參與《Mysql必讀mysql分組查詢示例代碼》討論,分享您的想法,維易PHP學院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/12754.html