gpt4 book ai didi

mysql - SQL获取不同枚举值的最后一行

转载 作者:行者123 更新时间:2023-11-30 22:00:55 25 4
gpt4 key购买 nike

我确实有一个包含一个“类型”列的表,该列是一个具有八种可能性的枚举。我现在想查询每个枚举值的最后一行 - 所以如果我要查找八个可能值中的四个,我需要四行每个枚举。

有什么想法吗?

编辑示例:以下枚举:type=("example1","ex2","ex3")每行都有一个类型和一个时间戳我想要每种类型的最后一个时间戳。

示例数据:示例 1 - 7:13,ex2 - 8:14,示例 1 - 9:17,ex3 - 6:13

希望的结果:示例 1 - 9:17,ex2 - 8:14

方言是MySQL。谢谢!

最佳答案

如果您的表 MyTable 有一个名为 EnumColumn 的“枚举”列,并且您希望给定枚举值列表中每个值的最后一行 (Foo BarBaz),其中“last”由 DateColumn 定义,并且您使用的数据库是支持窗口函数(例如MS SQL ServerOraclePostgreSQL),你可以这样做:

SELECT Column1, EnumColumn, Column3, DateColumn, Column5
FROM ( SELECT Column1, EnumColumn, Column3, DateColumn, Column5
, ROW_NUMBER() OVER ( PARTITION BY EnumColumn
ORDER BY DateColumn DESC ) AS ROW_NUM
FROM MyTable
WHERE EnumColumn IN ('Foo', 'Bar', 'Baz')
) x
WHERE ROW_NUM = 1

关于mysql - SQL获取不同枚举值的最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43398455/

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