gpt4 book ai didi

mysql - 根据总计数获取当前状态

转载 作者:行者123 更新时间:2023-11-29 16:18:54 27 4
gpt4 key购买 nike

我在 mysql 查询上设置条件(if then else)时遇到问题。

简单来说,我有 3 个相互关联的表。

m_shift_schedule    site_shift_schedule      m_ticket
================ =================== ============
* shift_id ======> * shift_id * ticket_id
* start_time * shift_date * ticket_status
* end_time * user_id ========> * ticket_served_by

我现在的查询:

SELECT user_id
FROM site_shift_schedule
LEFT JOIN m_shift_schedule ON site_shift_schedule.shift_id = m_shift_schedule.shift_id
WHERE site_shift_schedule.shift_date = '2019-02-11';

enter image description here

如果我想让输出变成这样,我该怎么办?

空闲 = m_ticket.ticket_status(4 或 5 或 6) 和总数 m_ticket.ticket_served_by < 2

忙碌 = m_ticket.ticket_status(4 或 5 或 6) 且总数 m_ticket.ticket_served_by = 2

过载 = m_ticket.ticket_status(4 或 5 或 6) 且总数 m_ticket.ticket_served_by > 2

      user_id                           Status
============================= ============
ismail.rahman.saanin@random.co Idle
lutfi.aldi.nugroho@random.co Busy

大家帮帮我吧,谢谢。 。 .

最佳答案

您可以尝试使用CASE WHEN ExpressionGroup By

SELECT user_id,
case when count(m_ticket.ticket_served_by)<2 then 'idle'
when count(m_ticket.ticket_served_by)=2 then 'Busy'
when count(m_ticket.ticket_served_by)>2 then 'Overload' end as status
FROM site_shift_schedule
LEFT JOIN m_shift_schedule ON site_shift_schedule.shift_id = m_shift_schedule.shift_id
left join m_ticket on site_shift_schedule.user_id=m_ticket.ticket_served_by
WHERE site_shift_schedule.shift_date = '2019-02-11' and m_ticket.ticket_status in (4,5,6)
group by user_id

关于mysql - 根据总计数获取当前状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54624443/

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