gpt4 book ai didi

sql - 在 Oracle 中检索具有一个条目的行

转载 作者:行者123 更新时间:2023-12-02 07:25:00 26 4
gpt4 key购买 nike

我有一个表(订单),其中有许多销售订单和许多客户,通常是同一客户的许多订单。但我试图找到那些针对单个客户的订单,我不想看到同一客户有多个订单的订单。我的示例可能会有所帮助。

╔══════════╦══════════════╗
║ Customer ║ Order Number ║
╠══════════╬══════════════╣
║ ABC ║ 123 ║
║ ABC ║ 456 ║
║ XYZ ║ 789 ║
║ MNO ║ 987 ║
║ XYZ ║ 654 ║
╚══════════╩══════════════╝

所以在示例中,我只想查看客户 MNO 和订单号 987,因为该客户只有一个条目。

最佳答案

嗯,你可以通过聚合来做到这一点:

select customer, min(OrderNumber) as OrderNumber
from t
group by customer
having count(*) = 1;

只有一行,min() 返回该行的订单号。

另一种方法是不存在:

select t.*
from t t
where not exists (select 1
from t t2
where t2.customer = t.customer and t2.OrderNumber <> t.OrderNumber
);

这具有允许您检索更多列的优势。

关于sql - 在 Oracle 中检索具有一个条目的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33609346/

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