在 SQL 中,你可以使用子查询和 ORDER BY 子句来实现按照特定字段进行分组,并获取每个分组中最新的一条记录。
SELECT t1.*FROM your_table t1INNER JOIN ( SELECT id, MAX(timestamp) AS max_timestamp FROM your_table GROUP BY id) t2 ON t1.id = t2.id AND t1.timestamp = t2.max_timestamp;
在这个示例中,your_table
是你的表名,id
是用来分组的字段,timestamp
是用来判断最新记录的时间戳字段。通过子查询,在子查询中找到每个分组内最大的时间戳,然后与原表进行连接,筛选出对应的记录。
请将示例中的 your_table
、id
和 timestamp
替换为你实际使用的表名和字段名。
适用于自增ID和创建时间排序一致
SELECTt1.* FROMcustomer_wallet_detail t1INNER JOIN ( SELECT MAX( id ) AS id FROM customer_wallet_detail GROUP BY customer_id ) t2 ON t1.id = t2.id
来源地址:https://blog.csdn.net/weixin_67601403/article/details/132456334