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