mysql取分组后最新的一条数据_mysql分组后取最大时间

mysql取分组后最新的一条数据_mysql分组后取最大时间mysql取分组后最新的一条记录,下面两种方法.一种是先筛选出最大和最新的时间,在连表查询.一种是先排序,然后在次分组查询(默认第一条),就是最新的一条数据了#select*fromt_assistant_articleasa,(selectmax(base_id)asbase_id,max(create_time)ascreate_timefromt_assista

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

mysql取分组后最新的一条记录,下面两种方法.

一种是先筛选 出最大和最新的时间,在连表查询.

一种是先排序,然后在次分组查询(默认第一条),就是最新的一条数据了(此条错误,分组mysql官方文档说明 是随机选择分组的一条,所以这么操作是不确定的),一般时间和主键id是正向关系,比如id大的插入时间就会比较大,我们可以以id为准来查询

方式一:

select * from t_assistant_article as a, 
(select max(base_id) as base_id, max(create_time) as create_time from t_assistant_article as b group by base_id ) as b
where a.base_id=b.base_id and a.create_time = b.create_time

Jetbrains全家桶1年46,售后保障稳定

方式二:

select * from t_assistant_article where id  in(select max(id) from t_assistant_article GROUP BY base_id)

下面是测试sql, 感谢评论区的留言,2013年写的,今天登录了网站发现了这个问题,抱歉!

CREATE TABLE `t_assistant_article` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `base_id` int(10) DEFAULT '0',
  `name` varchar(255) DEFAULT NULL,
  `create_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (1, 1, '11', 1532071461);
INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (2, 1, '22', 1532071462);
INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (3, 2, '33', 1532071463);
INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (4, 2, '44', 1532071464);
INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (5, 3, '55', 1532071465);
INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (6, 3, '66', 1532071466);
INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (7, 4, '77', 1532071467);
INSERT INTO `test`.`t_assistant_article` (`id`, `base_id`, `name`, `create_time`) VALUES (8, 4, '88', 1532071468);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226878.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 012路规律怎么看_五星012路的判断

    012路规律怎么看_五星012路的判断堆题目链接将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:x is the root:x是根结点;x and y are siblings:x和y是兄弟结点;x is the parent of y:x是y的父结点;x is a child of y:x是y的一个子结点。输入格式:每组测试第1行包含2个正整数N(≤ 1000)和M(≤ 20),分别是插入元素的个数、以及需要判断的命题数。下一行给出区间[−10000,10000]内的N个要被

    2022年8月9日
    3
  • 不用加减乘除做加法

    不用加减乘除做加法

    2020年11月19日
    224
  • BZOJ 1052 HAOI2007 覆盖问题 二分法答案+DFS

    BZOJ 1052 HAOI2007 覆盖问题 二分法答案+DFS

    2022年1月3日
    39
  • java migration_EF Add-Migration总结

    java migration_EF Add-Migration总结EFCodeFirst 对数据库任何的操作 千万不要手工去修改 解释 add migration 命令是 codefirstmig 中的关键命令之一 当您对领域域模型进行更改并需要将它们时添加到数据库中 您将创建一个新的迁移 这是通过 Add Migration 命令完成的 用最简单的形式 你只需要提供迁移名称展现形式 命令将您的更改构建到一个 cs 文件中 这个 cs 文件与配置文件放在同一个文件

    2025年7月29日
    1
  • java对象复制和属性值复制工具类[通俗易懂]

    java对象复制和属性值复制工具类[通俗易懂]两个不同类型的对象中有字段名称不区分大小写的情况下一样,字段含义一样,需要组装到另一个对象中去,然后就写了一个这种工具类我的类型比较特殊,老系统和新系统的对象命名大小写命名不一致,并且字段相同类型也有不一致的情况,所以自己写了一个,不是很完美基本能用。温馨提示:如果同一种类型的对象属性字段名equals相等并且类型一致。则完全可以用commons-beanutils包或者spring包

    2022年10月3日
    0
  • java中获取文件的服务器路径

    java中获取文件的服务器路径//获取文件的服务器路径importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.Ht…

    2022年7月27日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号