Nicolas Rey Asked: 2024-04-11 04:36:16 +0800 CST2024-04-11 04:36:16 +0800 CST 2024-04-11 04:36:16 +0800 CST 如何从 MySQL 中的 group by 获取每个组的最后 N 行 772 我有一个包含 isin(测试)、日期(Date)和金额(int)的表。 我正在尝试获取每个 isin 的最后 2 个日期的数量。 有人可以告诉我这个技巧吗? mysql 1 个回答 Voted Best Answer nbk 2024-04-11T05:24:54+08:002024-04-11T05:24:54+08:00 使用 MySQL 8,您可以使用 CTE 和窗口函数 ROW_NUMBER 来获取您想要的数据 WITH CTE AS(SELECT isin , date , amount , ROW_NUMBER() OVER(PARTITION BY isin ORDER BY date DESC) rn FROM mytable) SELECT isin , date , amount FROM CTE WHERE rn <= 2 ORDER BY isin, rn
使用 MySQL 8,您可以使用 CTE 和窗口函数 ROW_NUMBER 来获取您想要的数据