> id id_1 id_2 date_time > 1 101 1000 2006-07-04 11:25:43 > I want to find all records have same id_1, but different id_2 and have > difference in time less than 5 minutes. > In this case this is record 1 and record 3. > How can I do this ?
I am sure that this will need some "tuning" to get it to work correctly but should give you one way to get what you want. select a.id, a.id_1, a.id_2, a.date_time from table1 a join table1 b on (a.id_1 = b.id_1) where a.id_2 != b.id_2 and abs( a.date_time - b.date_time) < ' 5 minutes' ; ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match