gpt4 book ai didi

sql - 如何获取所有具有相同ID但在其他列中具有不同值的行?

转载 作者:行者123 更新时间:2023-11-29 11:59:43 25 4
gpt4 key购买 nike

我在 PostgreSQL 中编写查询时遇到问题。我有一个包含 IDssubID 的 View 。例如:

ID  quantity partID 
100 50 10
100 20 10
100 30 11
101 50 13
101 70 13
102 20 17

我想获取所有具有相同 ID 但不同 partIDs 的行。对于给定的例子,我想得到:

ID  quantity partID 
100 50 10
100 20 10
100 30 11

我试过这个查询查询:

select id  ,quantity ,partid 
from A
group by id,quantity,partid
having count(id)>2
order by id

但它不起作用。它会准确检查 ID 是否出现在超过 2 行中......在给定的示例中,它也会采用 ID 101。我也不知道如何让它只选择每个 ID 不同的 partid

最佳答案

在每个 id 组中,您只能计数 distinct partid:

select * 
from A t
where exists (
select 1
from A
where id = t.id
having count(distinct partid) > 1)

SQLFiddle

关于sql - 如何获取所有具有相同ID但在其他列中具有不同值的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31097738/

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