gpt4 book ai didi

sql - 根据列的最大值选择行

转载 作者:行者123 更新时间:2023-12-01 11:06:02 25 4
gpt4 key购买 nike

我在 Oracle SQL 中遇到了一个小问题。

我有一个包含以下列的表格(ID、AttributeID、AttributeValue、版本)。

我想在给定属性 ID 的情况下查询表中的最新版本。

比如我有如下数据

ID AttrId AttrValue Version
1 1 A 1
1 1 B 2
1 1 C 3
2 1 F 1
2 2 G 1

如果我决定按属性 id 1 进行过滤,我想得到

ID AttrId AttrValue Version
1 1 C 3
2 1 F 1

如果我提供id,查询会很简单,因为我可以先过滤通过 ID 和 AttributeID,然后找到版本列的最大值。

但是,我还在寻找和思考在不给ID的情况下的解决方案,并且只想获得一个仅基于 AttributeID 的列表。

任何提示都会有很大帮助!

谢谢!

最佳答案

这有帮助吗?

select * from attributes a
where attribute_id := given_attribute_id
and version_id = (
select max( version_id ) from attributes b
where attribute_id := given_attibute_id
and b.id = a.id

)

关于sql - 根据列的最大值选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5808700/

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