gpt4 book ai didi

Sql 查询以获取每种类型的最大 ID 号的记录

转载 作者:行者123 更新时间:2023-12-04 23:43:44 30 4
gpt4 key购买 nike

我在 sql server 中有一个表。它有一个用作主键的 pid 字段和一个名为 deviceid 的具有设备名称的字段。示例:

pid  deviceid   field3 field4
1 Device1 test test
2 Device2 test2 test2
3 Device1 test3 test3
4 Device2 test4 test4

对于查询,我需要从 pid 是每个设备的最大值的表中选择 *。示例结果:

pid  deviceid   field3  field4
3 Device1 test3 test3
4 Device2 test4 test4

我不知道该怎么做。有人有什么想法吗?

我得到的最接近的是:

Select MAX(pid) from TheTable Group By deviceid;

这可行,但它只给我结果中每个设备的最大 pid,我需要该记录的所有字段。将其他字段添加到 select 子句导致错误说字段需要在 group by 子句中列出...有人知道该怎么做吗?

最佳答案

select *
from (
select *,
row_number() over(partition by deviceid order by pid desc) as rn
from TheTable
) as T
where rn = 1

关于Sql 查询以获取每种类型的最大 ID 号的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6338631/

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