如何从表中的多个id中获得特定的名称?

  • 本文关键字:id sql
  • 更新时间 :
  • 英文 :

orderid  return id   status
a         a1        completed
b         a2        rejected
c         a3        initiated
d         a4        rejected
d         a5        completed
f         a6        rejected
g         a7        completed
a         a1        completed

输出
a    a1      completed

我想要一个订单ID有超过1个返回ID的输出,并且两个状态都是'完成'。

你可以使用聚合,如果我理解正确的话:

select orderid, returnid, max(status)
from t
group by orderid, returnid
having count(*) >= 2 and
min(status) = max(status) and
max(status) = 'completed';

您使用了单词"both",这意味着只有两行,它们的状态都是'completed'

这是一个数据库<>小提琴(碰巧使用MySQL,但代码都是标准的SQL)。

相关内容

  • 没有找到相关文章

最新更新