SQL 根据条件不同列过滤重复 ID 的行

问题描述 投票:0回答:1

我想返回重复 ID 的所有行,其中“值”大于 30

我有这张桌子

我想要这张桌子

这是我的查询,但不起作用。有什么想法吗?

create table test as 
select *
from A
where ID in (select ID from A where value >= 30);
quit;```
sql sas proc-sql
1个回答
0
投票

您可以先查询符合条件的 ID,然后加入该子查询。

;WITH TargetIds AS (select id from table GROUP BY [id] HAVING MAX([VALUE]) >= 30)
SELECT
    t1.id,
    t1.[value]
from
    table t1
    inner join targetIds t2 on t1.ID = t2.ID
© www.soinside.com 2019 - 2024. All rights reserved.