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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM