mysql 实现某一字段重复 按另一字段排序取最新值 相当于函数row_number() over()

1.设置初始值
2.一定要进行order by 排序 (里面要有两个字段 一个是分组的字段 一个是取最新值的字段)
https://www.jianshu.com/p/3419550152d5
https://blog.csdn.net/mingming20547/article/details/93979421


SET @rank := 0;

SET @CI := NULL;
SELECT * from
(SELECT
	account_id,
	tenant_id,
	last_updated_date,
	rank 
FROM
	(
	SELECT
		account_id,
		tenant_id,
		last_updated_date,
		@rank :=
	IF
		( @CI = account_id, @rank + 1, 1 ) AS rank,
		@CI := account_id 
	FROM
		am_account_balance
	ORDER BY
	 account_id,last_updated_date DESC 
	) AS t) w where rank =1

你可能感兴趣的:(mysql)