獲取分組后,組內排名第一或最后的數據行。
利用子查詢,desc 或者asc,然后GROUP BY 某個維度例如userId,
再select,會默認取分組后的排序的第一條數據。
網上都說Mysql5.7,在子查詢的ORDER BY子句后面,必須加上LIMIT 10000000,沒驗證過,但最好加上吧!
-- 查找所有用戶的最近失效訂單
SELECT A.* from
(
SELECT s.subId,userId,expiredTime from open_orderinfo_sub s
where expiredTime is not null and s.eaId=82 and s.`status`=0
ORDER BY expiredTime desc LIMIT 100000000
)A GROUP BY A.userId;