gpt4 book ai didi

mysql对多对多关系条件进行排序

转载 作者:行者123 更新时间:2023-11-29 17:44:08 24 4
gpt4 key购买 nike

我有两张 table

groups:
id : integer
group_title : string

group_sessions:
id : integer
group_id : integer
start_time : timestamp

我需要根据最近即将举行的 session start_time对组进行排序。例如,A 组明天有下一场比赛,B 组今天有下一场比赛。那么B组应该是第一。这是我写的,但显然它不起作用

select g.id, g.group_title
from groups g
left join (
select group_id, MIN(start_time) as min_session_time
from group_sessions
where start_time > now()
group by group_id
) s on g.id = s.group_id
order by min_session_time asc

最佳答案

首先,您需要一个 INNER JOIN,而不是 LEFT JOIN。其次,您不需要聚合,例如 MIN。

SELECT g.id, g.group_title, gs.start_time
FROM groups g
INNER JOIN group_sessions gs ON gs.group_id = g.id
WHERE gs.start_time > NOW()
ORDER BY gs.start_time

关于mysql对多对多关系条件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49875755/

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