如何使用group by和Order by DESC获取表中的最后一行?

塔里布:

我有两个表,其中一个表的表名(tbl_brands)包含以下列:

在此处输入图片说明

第二个表名称(tbl_loader_attachment)包含以下列:

在此处输入图片说明

我使用下面的MySQL代码按DESC排序:

SELECT tbl_loader_attachment.*, tbl_brands.*  FROM tbl_loader_attachment
INNER JOIN tbl_brands ON(tbl_brands.b_id=tbl_loader_attachment.b_id)
GROUP BY tbl_loader_attachment.b_id ORDER BY tbl_loader_attachment.la_id DESC

当我执行代码时,选择第一行(test1),我要选择最后一行get(test4)

蒂姆·比格莱森(Tim Biegeleisen):

一种方法使用GROUP BY查询:

SELECT tla1.*, tb.*
FROM tbl_brands tb
INNER JOIN tbl_loader_attachment tla1
    ON tb.b_id = tla1.b_id
INNER JOIN
(
    SELECT b_id, MAX(la_id) AS max_la_id
    FROM tbl_loader_attachment
    GROUP BY b_id
) tla2
    ON tla1.b_id = tla2.b_id AND
       tla1.la_id = tla2.max_la_id;

如果您使用的是MySQL 8+(或者将来的读者应该使用MySQL 8+),那么这里的另一种选择是使用ROW_NUMBER

WITH cte AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY b_id ORDER BY la_id DESC) rn
    FROM tbl_loader_attachment
)

SELECT tla.*, tb.*
FROM tbl_brands tb
INNER JOIN cte tla ON tb.b_id = tla.b_id
WHERE tla.rn = 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何选择与表中项目相关的第一行和最后一行?

使用CSS反增量时如何排除表中的第一行和最后一行

如何从组中获取列中的第一行和另一列中的最后一行

使用$(this)和下面的按钮获取表中最后一行的值

使用ROW_NUMBER和PARTITION BY获取第一行和最后一行

如何根据R中最后一行中的条件过滤第一行和最后一行

Codeigniter 4 - 如何获取结果的第一行和最后一行

熊猫:如何获取数据框第一行和最后一行的键(索引)

如何获取每个用户的第一行和最后一行数据

如何在PostgreSQL中的一行上获取第一个和最后一个值

如何替换Notepad ++中的第一行和最后一行?

如何从cat输出中读取第一行和最后一行?

如何在PHP中跳过文件的第一行和最后一行

获取Jasper Reports表中第一行和最后一行的首字母

如何从引导程序列中删除最后一行的边框和最后一行的边框底部?

如何使用iloc删除pandas数据框中的第一行和最后一行

如何在没有 order by 的情况下获取最后一行并为变量赋值?

如何获取动态更新的表的最后一行?

使用jQuery获取表的最后一行?

如何选择并输出工作表或已过滤列表的第一行和最后一行?

如何在嵌套循环中获取第一行和最后一列

使用ID对数据进行分组,并从第一行和最后一行获取数据

如何使用熊猫在csv文件的最后一行和特定列中插入文本?

使用GROUP BY和ORDER BY时间戳DESC的MySQL查询

如何通过两列desc postgre的结果获取表中每一行的两列乘积和顺序?

如何从表中获取一行

从使用(WHERE)条件选择的行中获取上一行和下一行

使用 group by 和有子句从连接表中删除一行

如何从MySQL表中的一组行中获取平均值和最后数据