gpt4 book ai didi

sql - 在 SQL Server 2008 中使用 select where 查找一列上的重复项

转载 作者:行者123 更新时间:2023-12-04 06:57:13 28 4
gpt4 key购买 nike

我试图从一个表中选择一列中有重复项的行,但也限制基于另一列的行。它似乎无法正常工作。

select Id,Terms from QueryData 
where Track = 'Y' and Active = 'Y'
group by Id,Terms
having count(Terms) > 1

如果我删除 where它工作正常,但我只需要将其限制为这些行。
ID      Terms     Track    Active
100 paper Y Y
200 paper Y Y
100 juice Y Y
400 orange N N
1000 apple Y N

理想情况下,查询应返回前 2 行。

最佳答案

SELECT Id, Terms, Track, Active
FROM QueryData
WHERE Terms IN (
SELECT Terms
FROM QueryData
WHERE Track = 'Y' and Active = 'Y'
GROUP BY Terms
HAVING COUNT(*) > 1
)

演示在 SQLFiddle

数据:
ID      Terms     Track    Active
100 paper Y Y
200 paper Y Y
100 juice Y Y
400 orange N N
1000 apple Y N

结果:
Id      Terms     Track    Active
100 paper Y Y
200 paper Y Y

关于sql - 在 SQL Server 2008 中使用 select where 查找一列上的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13920769/

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