SQL查询以获取与另一列的MAX值对应的列值?

好的,这是我的查询:

SELECT

video_category,

video_url,

video_date,

video_title,

short_description,

MAX(video_id)

FROM

videos

GROUP BY

video_category

当它提取数据时,我得到了video_id的正确行,但它为其他每个类别都提取了第一行。因此,当我得到类别1的video_id的最大结果时,我得到了最大ID,但表的第一行是url,日期,标题和说明。

如何获取与最大ID结果相对应的其他列?

SELECT

*

FROM

videos

WHERE

video_id IN

(

SELECT

DISTINCT

MAX(video_id)

FROM

videos

GROUP BY

video_category

)

ORDER BY

video_category ASC

回答:

我会尝试这样的事情:

SELECT

s.video_id

,s.video_category

,s.video_url

,s.video_date

,s.video_title

,short_description

FROM videos s

JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max

ON s.video_id = max.id

这比您自己的解决方案要快得多

以上是 SQL查询以获取与另一列的MAX值对应的列值? 的全部内容, 来源链接: utcz.com/qa/429435.html

回到顶部