我是靠谱客的博主 专一短靴,这篇文章主要介绍mysql 查询多条数据最新数据,现在分享给大家,希望可以做个参考。

创建表:

复制代码
1
2
3
4
5
6
7
CREATE TABLE `ind_tom_15_14` ( `id` bigint(16) NOT NULL AUTO_INCREMENT, `moentityid` bigint(16) DEFAULT NULL, `startday` int(6) DEFAULT NULL, `ind_tom_15_14_001` decimal(14,4) DEFAULT NULL )

添加数据:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
INSERT INTO `ind_tom_15_14` (`id`, `moentityid`, `startday`, `ind_tom_15_14_001` ) VALUES ('1586940625258862', '10030', '20200301', '0.0000'); INSERT INTO `ind_tom_15_14` (`id`, `moentityid`, `startday`, `ind_tom_15_14_001` ) VALUES ('1586940625258863', '10030', '20200401', '0.0000'); INSERT INTO `ind_tom_15_14` (`id`, `moentityid`, `startday`, `ind_tom_15_14_001` ) VALUES ('1586940625258864', '10031', '20200301', '0.0000'); INSERT INTO `ind_tom_15_14` (`id`, `moentityid`, `startday`, `ind_tom_15_14_001` ) VALUES ('1586940625258865', '10031', '20200401', '0.0000');

第一种查询方式:

复制代码
1
2
3
4
5
6
7
8
SELECT bb.ind_tom_15_14_001 ,bb.moentityid from ind_tom_15_14 bb LEFT JOIN ( select MAX(aa.startday) startday,aa.moentityid from ind_tom_15_14 aa GROUP BY aa.moentityid ) cc on cc.moentityid=bb.moentityid WHERE bb.startday=cc.startday

第二种查询方式:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
SELECT * from ( SELECT @row_num := IF(@prev_value=o.moentityid,@row_num+1,1) AS RowNumber ,o.moentityid ,o.ind_tom_15_14_001,o.startday ,@prev_value := o.moentityid FROM ind_tom_15_14 o, (SELECT @row_num := 1) x, (SELECT @prev_value := '') y ORDER BY o.moentityid desc, o.startday desc ) t where t.RowNumber = 1

最后

以上就是专一短靴最近收集整理的关于mysql 查询多条数据最新数据的全部内容,更多相关mysql内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(98)

评论列表共有 0 条评论

立即
投稿
返回
顶部