在同一表中,同个序号有多条记录,想求同个序号在同个表中的最大时间的记录(或最小时间的记录)。
我们常用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)