—— 阿尔伯特·爱因斯坦

程序员の奇妙冒险

常用SQL笔记MySQL
2025-04-08 23:49阅读:33评论:0

MySQL之去重查询最新一条数据

这种查询会导致全表扫描 优化版

  • 这种查询会导致全表扫描
1
2
3
4
select id,name,create_date from sys_user a
 
where not exists (select * from sys_user b where a.name = b.name and a.create_date < create_date ) ;
 
  • 优化版
1
2
3
4
5
6
7
8
9
10
11
SELECT * FROM hy_driver_on_line_the_way WHERE create_time in(
SELECT
MAX( b.create_time )
FROM
hy_driver_on_line_the_way AS b
WHERE
b.driver_id IN ( 1, 2, 3 )
GROUP BY
b.driver_id
)
 
评论(0)
暂无评论来抢沙发吧~