gpt4 book ai didi

mysql - 获取最新序列号的 MAX 记录

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

我有下表,其中包含一些示例数据。

Record_ID    Counter    Serial    Owner
1 0 AAA Jack
2 1 AAA Kevin
3 0 BBB Jane
4 1 BBB Wendy

基于与上述类似的数据,我尝试为 MySQL 编写一个 SQL 查询,以获取每个 Serial 号的最大 Counter 值的记录。 我似乎遇到问题的部分是让查询获取最近更新的 50 个唯一序列号。

下面是我迄今为止根据 this StackOverflow question 提出的查询.

SELECT * 
FROM `history` his
INNER JOIN(SELECT serial,
Max(counter) AS MaxCount
FROM `tracking`
WHERE serial IN (SELECT serial
FROM `history`)
GROUP BY serial
ORDER BY record_id DESC) q
ON his.serial = q.serial
AND his.counter = q.maxcount
LIMIT 0, 50

最佳答案

它看起来像一个经典的 问题,可以通过以下方式解决:

select his.Record_ID, his.Counter, his.Serial, his.Owner
from History his
inner join(
select Serial, max(Counter) Counter
from History
group by Serial
) ss on his.Serial = ss.Serial and his.Counter = ss.Counter

如果您要对数据集使用特定的过滤器,则应在子查询中应用所述过滤器。

另一个对此问题有更多解释的来源:SQL Select only rows with Max Value on a Column

关于mysql - 获取最新序列号的 MAX 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16023894/

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