Обсуждение: help with sql query

Поиск
Список
Период
Сортировка

help with sql query

От
Peter
Дата:
Hello,

Lets suppose I have a table like this one

id    id_1    id_2   date_time
1    101    1000    2006-07-04 11:25:43
2    102    1001    2006-07-04 11:26:43
3    101    1005    2006-07-04 11:27:43
4    103    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 ?

Thanks in advance for your help.

Peter




Re: help with sql query

От
Richard Broersma Jr
Дата:
> 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'
;

Re: help with sql query

От
"Albe Laurenz"
Дата:
Richard Broersma Jr wrote:
>> 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'
> ;

... maybe use 'a.id_2 < b.id_2' if you want to exclude double results.


Yours,
Laurenz Albe