MYSQL 分组并查询最大时间
2015-04-24 16:28
501 查看
1.利用子查询查询最大时间
2.在外层比较时间相等
注意点:max只对当列有效
##
select ta.int_interpreting_data_id,ta.str_value,ta.dt_report_date,ta.dataId,ta.db_name,ta.int_interpreting_data_id,ta.str_property_id
from t_interpreting_data ta,(
select max(dt_report_date) drt
from t_interpreting_data
where str_property_id='Windows Server 2003_244'
group by db_name,str_norm_number
order by dt_report_date desc
) tid
where ta.str_property_id='Windows Server 2003_244' and ta.dt_report_date = tid.drt
group by ta.db_name,ta.str_norm_number
order by ta.str_norm_number desc
CREATE TABLE IF NOT EXISTS `test` (
`id` int(10) unsigned NOT NULL auto_increment,
`install` int(10) unsigned NOT NULL,
`day` int(10) unsigned NOT NULL,
`aid` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
INSERT INTO `test` (`id`, `install`, `day`, `aid`) VALUES
(1, 1232, 20080808, 1),
(2, 2321, 20080809, 2),
(3, 1236, 20080810, 3),
(5, 4212, 20080809, 1),
(6, 2312, 20080810, 1),
(7, 1432, 20080811, 1),
(8, 2421, 20080808, 2),
(9, 4245, 20080811, 2),
(10, 5654, 20080810, 2),
(11, 412, 20080808, 3);
SELECT A.* FROM test A,
(SELECT aid, MAX(day) max_day FROM test GROUP BY aid) B
WHERE A.aid = B.aid AND A.day = B.max_day
ORDER BY a.install DESC
网络上搜的到的:http://blog.csdn.net/acmain_chm/article/details/4126306
2.在外层比较时间相等
注意点:max只对当列有效
##
select ta.int_interpreting_data_id,ta.str_value,ta.dt_report_date,ta.dataId,ta.db_name,ta.int_interpreting_data_id,ta.str_property_id
from t_interpreting_data ta,(
select max(dt_report_date) drt
from t_interpreting_data
where str_property_id='Windows Server 2003_244'
group by db_name,str_norm_number
order by dt_report_date desc
) tid
where ta.str_property_id='Windows Server 2003_244' and ta.dt_report_date = tid.drt
group by ta.db_name,ta.str_norm_number
order by ta.str_norm_number desc
CREATE TABLE IF NOT EXISTS `test` (
`id` int(10) unsigned NOT NULL auto_increment,
`install` int(10) unsigned NOT NULL,
`day` int(10) unsigned NOT NULL,
`aid` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
INSERT INTO `test` (`id`, `install`, `day`, `aid`) VALUES
(1, 1232, 20080808, 1),
(2, 2321, 20080809, 2),
(3, 1236, 20080810, 3),
(5, 4212, 20080809, 1),
(6, 2312, 20080810, 1),
(7, 1432, 20080811, 1),
(8, 2421, 20080808, 2),
(9, 4245, 20080811, 2),
(10, 5654, 20080810, 2),
(11, 412, 20080808, 3);
SELECT A.* FROM test A,
(SELECT aid, MAX(day) max_day FROM test GROUP BY aid) B
WHERE A.aid = B.aid AND A.day = B.max_day
ORDER BY a.install DESC
网络上搜的到的:http://blog.csdn.net/acmain_chm/article/details/4126306
相关文章推荐
- [MySQL]学习笔记- 用户行为表中,查询每个人的一条最新行为(分组 排序 取时间最大的一条记录)
- MySQL——关于MySQL分组查询group by和order by获取最新时间内容的方法
- 在mysql 中查询时间最大的一条记录
- 关于MYSQL group by 分组按时间取最大值的实现方法!
- mysql 分组 排序 取时间最大的一条记录
- MySQL时间分组查询
- 分组查询取最大时间记录的方法Oracle .
- mysql查询分组后显示某一字段最大值行
- 关于MYSQL group by 分组按时间取最大值的实现方法
- mysql 分组查询某一列最大的前10条记录
- 【数据库-MySql】按时间间隔分组查询 group by count(*) date_format
- 关于MYSQL group by 分组按时间取最大值的实现方法!
- 数据库排名sql,group by 分组查询按照时间最大值
- MySql 分组排序取时间最大的一条记录
- 分组查询取最大时间记录的多种方式
- mysql查询数据时,按照时间分组求和
- mysql分组查询最大的数据
- 分组查询取最大时间记录的方法Oracle
- mysql 分组查询以及显示各个分组所有的温度和时间要用GROUP_CONCAT
- mysql分组查询获取组内某字段最大的记录