gpt4 book ai didi

mysql - 通过基于最大值的连接获取完整行

转载 作者:行者123 更新时间:2023-11-29 12:28:01 26 4
gpt4 key购买 nike

在 mysql 中我有这两个表:

**Seasons**
id
number
current

**Episodes**
id
number
season_id
other_info

我想从 Episodes 获取完整行,从 Seasons 获取连接行,所有这些都基于两个表的最大 number 值。

例如,如果我有第 1、2、3 季,我想获取最近一季的最新剧集。

我从这个查询开始:

SELECT e.id as episode_id, s.id as season_id, MAX(s.number) AS season_number, MAX(e.number) AS episode_number, e.other_info
FROM (episodes AS e)
JOIN seasons AS s ON e.season_id=s.id
WHERE s.current = 1

它确实有效,但随后它显示了错误的 other_info 值。我知道这是因为 MAX() 对行进行分组,但其他值是随机的,所以我认为它只是显示第一行可用的 other_info

环顾四周,我发现了这个,我认为它会起作用,但它没有:

SELECT e.id as episode_id, s.id as season_id, MAX(s.number) AS season_number, MAX(e.number) AS episode_number, e.other_info
FROM (episodes AS e)
JOIN seasons AS s ON e.season_id=s.id
WHERE s.current = 1 AND
e.number = (select max(sube.number) from episodes sube);

在这种情况下,我只得到所有 NULL 值。

最佳答案

我认为这会对您有所帮助:

SELECT seasons.*, episodes.* 
FROM episodes
INNER JOIN seasons ON episodes.season_id = seasons.id
ORDER BY seasons.number DESC ,episodes.number DESC
limit 0,1

关于mysql - 通过基于最大值的连接获取完整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28011842/

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