加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql必读mysql分组查询示例代码

发布时间:2020-12-12 02:38:51 所属栏目:MySql教程 来源:网络整理
导读:《Mysql必读mysql分组查询示例代码》要点: 本文介绍了Mysql必读mysql分组查询示例代码,希望对您有用。如果有疑问,可以联系我们。 导读:本节内容:mysql 分组查询.一、表布局---- 表的布局 `client_status`--CREATE TABLE IF NOT EXISTS `client_status`

《Mysql必读mysql分组查询示例代码》要点:
本文介绍了Mysql必读mysql分组查询示例代码,希望对您有用。如果有疑问,可以联系我们。

导读:本节内容:mysql 分组查询.一、表布局---- 表的布局 `client_status`--CREATE TABLE IF NOT EXISTS `client_status` ( `id` me...

本节内容:
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应用

--
-- 转存表中的数据 `client_status`
--MYSQL应用

INSERT INTO `client_status` (`id`,`client_id`,`addtime`) VALUES
(3,1,? '2012-03-26 10:32:30'),
(4,? '2012-03-26 10:30:31'),
(5,? '2012-03-26 10:30:32'),
(6,2,? '2012-03-26 10:30:33'),
(7,? '2012-03-26 10:30:34'),
(8,4,? '2012-03-26 10:30:35'),
(9,? '2012-03-26 10:30:36'),
(10,3,? '2012-03-26 10:30:37'),
(11,? '2012-03-26 10:30:38');MYSQL应用

二、需求目的
按client_id分组,查询每个client_id中离目前时间最近的记录.MYSQL应用

查询结果示意,如下:
?MYSQL应用

mysql分组查询示例代码

三、解决办法(mysql 分组查询实例)MYSQL应用

例1:
SELECT * FROM (SELECT * FROM client_status ORDER BY addtime DESC )a GROUP BY client_idMYSQL应用

explain阐发
?MYSQL应用

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阐发
?MYSQL应用

mysql分组查询示例代码

例3:
SELECT * FROM `client_status` WHERE addtime IN (SELECT max( addtime ) FROM client_status GROUP BY client_id )MYSQL应用

explain阐发

mysql分组查询示例代码

MYSQL应用

欢迎参与《Mysql必读mysql分组查询示例代码》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读