求同表中时间最大的一条记录

在同一表中,同个序号有多条记录,想求同个序号在同个表中的最大时间的记录(或最小时间的记录)。

我们常用Over()及MAX(time)等查询,但还有另个同表相比较的方法,我感觉比较方便,故记录下来,以便后用。

--求最大时间记录,即b没有比a的时间再大了,那就是最大时间的记录
SELECT * FROM table1 a 
 WHERE serial_number='aa'
   AND NOT EXISTS(SELECT 1  FROM table1 b WHERE b.serial_number=a.serial_number AND a.out_process_time< b.out_process_time) 

--求最小时间记录,即b没有比a的时间再小了,那就是最小时间的记录
SELECT * FROM table1 a 
 WHERE serial_number='aa'
   AND NOT EXISTS(SELECT 1  FROM table1 b WHERE b.serial_number=a.serial_number AND a.out_process_time> b.out_process_time)  

 

 

posted on 2021-07-23 10:55  天上星  阅读(203)  评论(0编辑  收藏  举报

导航