gpt4 book ai didi

sql - 如何编写 SQL 脚本以获得所需的输出

转载 作者:行者123 更新时间:2023-12-02 09:28:47 31 4
gpt4 key购买 nike

表格

Member| Mum_Status
mem1 | active
mem2 | future
mem3 | active
mem3 | future

如何编写查询以获取上表的以下输出

  • 仅当成员(member)当前不活跃时才需要填充 future 记录
  • 如果成员(member)同时具有活跃状态和 future 状态,则不应填充 future 记录

期望的输出:

Member| Status
mem1 | active
mem2 | future
mem3 | active

最佳答案

执行GROUP BY。使用 MIN 选择事件(如果可用),否则返回 future。

select member, min(status)
from tablename
group by member

只要不引入其他状态类型,就可以很好地工作。

或者,不存在:

select member, status
from tablename t1
where status = 'active'
or NOT EXISTS (select * from tablename t2
where t2.member = t1.member
and t1.status = 'active')

如果某行处于事件状态,则返回它。否则它具有 future 状态,如果同一成员没有其他行具有事件状态,则返回它。

关于sql - 如何编写 SQL 脚本以获得所需的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35287191/

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