gpt4 book ai didi

mysql - 仅获取每个代码的最近日期的记录

转载 作者:行者123 更新时间:2023-11-30 21:40:53 25 4
gpt4 key购买 nike

我有一张这样的 table

+------+-------+-----------+-------------+
| code | price | perct_off | date_review |
+------+-------+-----------+-------------+
| 0001 | 1500 | 40 | 2017-12-30 |
| 0001 | 1500 | 40 | 2018-02-15 |
| 0001 | 2000 | 25 | 2018-07-31 |
| 0002 | 3000 | 45 | 2018-03-20 |
| 0002 | 5000 | 20 | 2018-08-01 |
| 0003 | 3000 | 40 | 2018-01-16 |
+------+-------+-----------+-------------+

我只想记录每个代码的最大日期。输入必须是:

+------+-------+-----------+-------------+
| code | price | perct_off | date_review |
+------+-------+-----------+-------------+
| 0001 | 2000 | 25 | 2018-07-31 |
| 0002 | 5000 | 20 | 2018-08-01 |
| 0003 | 3000 | 40 | 2018-01-16 |
+------+-------+-----------+-------------+

当我尝试时:

SELECT DISTINCT
(code), price, perct_off, MAX(date_review)
FROM `table01`
GROUP BY code

我得到了这个输出

+-------+--------+------------+-------------------+
| code | price | perct_off | max(date_review) |
+-------+--------+------------+-------------------+
| 0001 | 1500 | 40 | 2018-07-31 |
| 0002 | 3000 | 45 | 2018-08-01 |
| 0003 | 3000 | 40 | 2018-01-16 |
+-------+--------+------------+-------------------+

如何获得正确的输出?

提前致谢。

最佳答案

执行此操作的一种规范方法是加入子查询,该查询为每个 code 查找最近的日期:

SELECT t1.*
FROM table01 t1
INNER JOIN
(
SELECT code, MAX(date_review) AS max_date_review
FROM table01
GROUP BY code
) t2
ON t1.code = t2.code AND t1.date_review = t2.max_date_review;

关于mysql - 仅获取每个代码的最近日期的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51699792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com