gpt4 book ai didi

MySQL 获取最后一次出现的重复行

转载 作者:行者123 更新时间:2023-11-29 12:13:20 25 4
gpt4 key购买 nike

首先,我想向所有正在查看问题的人表示感谢,同时我也想说,总的来说,我对 SQL 确实很陌生。其次,我希望这不是一个重复的问题。我进行了很多搜索并尝试了很多,其他人试图完成但都失败了。

我试图获取与相同订单号匹配的行的最后一次出现。我尝试过在 id 和内部连接上使用 max() 进行分组,所以有些东西确实很奇怪。

有几次我接近的是当我获得最高的 id 时,但其余的与第一次出现匹配。

id | oldValue | newValue | orderNumber--------------------------------------1  | 123      | 345      | 123452  | 0        | 335      | 123453  | 234      | 235      | 345674  | 435      | 465      | 456785  | 543      | 1235     | 456786  | 543      | 578      | 456787  | 456      | 23464    | 122228  | 233      | 45765    | 144449  | 3456     | 6574     | 33345

输出的样子。

id | oldValue | newValue | orderNumber--------------------------------------2  | 0        | 335      | 123453  | 234      | 235      | 345676  | 543      | 578      | 456787  | 456      | 23464    | 122228  | 233      | 45765    | 144449  | 3456     | 6574     | 33345

我不想删除任何信息。我发现这是一个非常受欢迎的选择,对于我遇到的类似问题。我需要保留所有日期。

非常感谢任何有关如何解决此问题的想法,或者是我可以进行更多研究的资源。

最佳答案

您的问题可以通过一个简单的查询来解决:

select t.* 
from your_table t
join(
select
max(id) as id
from your_table
group by orderNumber
) x on x.id = t.id

内部子查询仅返回每个 orderNumber 的最大 id。

关于MySQL 获取最后一次出现的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30290197/

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