gpt4 book ai didi

mysql - 如何使用sql select获取一组记录中一列的最大值结果?

转载 作者:行者123 更新时间:2023-11-29 15:12:51 26 4
gpt4 key购买 nike

我在表格中保存了这些数据。

date       | name        | code
2020-01-01 | category1 | 0
2020-01-02 | category1 | 1
2020-01-03 | category1 | 2
2020-01-04 | category1 | 3
2020-01-05 | category1 | 0
2020-01-06 | category1 | 1
2020-01-07 | category1 | 2
2020-01-08 | category1 | 0
2020-01-01 | category2 | 0
2020-01-02 | category2 | 0
2020-01-03 | category2 | 1
2020-01-04 | category2 | 0
2020-01-05 | category2 | 1
2020-01-06 | category2 | 2
2020-01-07 | category2 | 0
2020-01-08 | category2 | 1
......

集合中的列代码增加1。

需要获取一组记录中某一列具有最大值的记录。我的示例的结果必须是:

date       | name        | code
2020-01-04 | category1 | 3
2020-01-07 | category1 | 2
2020-01-03 | category2 | 1
2020-01-06 | category2 | 2
2020-01-08 | category2 | 1
......

最佳答案

这是你想要的吗?

select date, name, code
from (
select
t.*,
lead(code) over(partition by name order by date) lead_code
from mytable t
) t
where not code <= lead_code

对于您的示例数据,this produces :

date       | name      | code:--------- | :-------- | ---:2020-01-04 | category1 |    32020-01-07 | category1 |    22020-01-03 | category2 |    12020-01-06 | category2 |    2

关于mysql - 如何使用sql select获取一组记录中一列的最大值结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59934244/

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