获取与一列MAX值相对应的其他列?

编程入门 行业动态 更新时间:2024-10-27 04:38:07
本文介绍了获取与一列MAX值相对应的其他列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

好的,这是我的查询:

选择 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

解决方案

我会尝试这样的:

选择 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

即相当快,你自己的解决方案

Ok, this is my query:

SELECT video_category, video_url, video_date, video_title, short_description, MAX(video_id) FROM videos GROUP BY video_category

When it pulls the data, I get the correct row for the video_id, but it pulls the first row for each category for the others. So when I get the max result for the video_id of category 1, I get the max ID, but the first row in the table for the url, date, title, and description.

How can I have it pull the other columns that correspond with the max ID result?

Edit: Fixed.

SELECT * FROM videos WHERE video_id IN ( SELECT DISTINCT MAX(video_id) FROM videos GROUP BY video_category ) ORDER BY video_category ASC

解决方案

I would try something like this:

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

which is quite faster that your own solution

更多推荐

获取与一列MAX值相对应的其他列?

本文发布于:2023-07-26 07:06:02,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:相对应   MAX

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!