• Mysql left join获取分组后最新日期的记录


    select name, max(value)
    from out_pumptable
    group by name
    # 创建表
    CREATE TABLE IF NOT EXISTS `runoob_tbl`(
       `runoob_id` INT UNSIGNED,
       `runoob_title` VARCHAR(100) NOT NULL,
       `runoob_author` VARCHAR(40) NOT NULL,
       `submission_date` DATE
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    # 插入数据
    INSERT INTO runoob_tbl
    (runoob_id,runoob_title, runoob_author, submission_date)
    VALUES
    (1, "学习 PHP", "菜鸟教程", NOW());
    
    INSERT INTO runoob_tbl
    (runoob_id,runoob_title, runoob_author, submission_date)
    VALUES
    (2, "学习 PHP", "菜鸟教程", NOW());
    
    INSERT INTO runoob_tbl
    (runoob_id,runoob_title, runoob_author, submission_date)
    VALUES
    (3, "学习 PHP", "菜鸟教程", NOW());
    
    INSERT INTO runoob_tbl  VALUES (1, "学习 PHP222", "菜鸟教程1212", '2022-01-23');
    
    mysql> select * from runoob_tbl;
    +-----------+--------------+---------------+-----------------+
    | runoob_id | runoob_title | runoob_author | submission_date |
    +-----------+--------------+---------------+-----------------+
    |         1 | 学习 PHP     | 菜鸟教程      | 2021-01-26      |
    |         2 | 学习 PHP     | 菜鸟教程      | 2021-01-26      |
    |         1 | 学习 PHP     | 菜鸟教程      | 2021-01-26      |
    |         3 | 学习 PHP     | 菜鸟教程      | 2021-01-26      |
    |         1 | 学习 PHP     | 菜鸟教程      | 2022-01-23      |
    +-----------+--------------+---------------+-----------------+
    5 rows in set (0.00 sec)
    
    mysql> select runoob_id, max(submission_date) as max_date from runoob_tbl group by runoob_id;
    +-----------+------------+
    | runoob_id | max_date   |
    +-----------+------------+
    |         1 | 2022-01-23 |
    |         2 | 2021-01-26 |
    |         3 | 2021-01-26 |
    +-----------+------------+
    
    mysql> select a.* from runoob_tbl a left join (select runoob_id, max(submission_date) as max_date 
    from runoob_tbl group by runoob_id)b on a.runoob_id = b.runoob_id where a.submission_date = b.max_date; +-----------+---------------+------------------+-----------------+ | runoob_id | runoob_title | runoob_author | submission_date | +-----------+---------------+------------------+-----------------+ | 2 | 学习 PHP | 菜鸟教程 | 2021-01-26 | | 3 | 学习 PHP | 菜鸟教程 | 2021-01-26 | | 1 | 学习 PHP222 | 菜鸟教程1212 | 2022-01-23 | +-----------+---------------+------------------+-----------------+ drop table runoob_tbl;
    参考:
    https://stackoverflow.com/questions/4510185/select-max-value-of-each-group
    https://www.runoob.com/mysql/mysql-create-tables.html

    如果没有一直坚持,也不会有质的飞跃,当生命有了限度,每个人的价值就会浮现。

    船长博客,期待共同交流提高!

    本文如对您有帮助,记得点击右下边小球【赞一下】,热烈期待您关注博客 n(*≧▽≦*)n

    0成本创业_月入5000被动收入

  • 相关阅读:
    理清可导、可微、连续...的概念
    f(sinx)到底是啥
    高数基础知识整理7.渐近线与曲率
    高数基础知识整理6.函数单调性与凹凸性
    高数基础知识整理4.导数与微分
    数组、稀疏矩阵、广义表综合应用
    数据库(外键及其约束理解)
    js中按钮去触发定时器,那么多次点击这个定时器会越来越快,解决方法
    JavaScript splice() 方法和JavaScript split() 方法
    javascript中加号(+)操作符的作用
  • 原文地址:https://www.cnblogs.com/v5captain/p/14332236.html
Copyright © 2020-2023  润新知