Выборка полей с разницой значений большей чем задана?

rudik

Developer
Выборка полей с разницой значений большей чем задана?

Есть таблица с ip адресами и временем записи этого адреса в формате timestamp.

Необходимо вывести все уникальные ip адреса. Но так чтоб не выврдились ip адреса с разницей во времени меньше 3600 сек.

Т.е. как вывести значения разница между котороми больше 3600?
 

rudik

Developer
Раздуплился !!!

$query = "SELECT first.* FROM ".dbstream." first, ".dbstream." second WHERE first.firm=second.firm and first.firm='".$id."' and unix_timestamp(first.timestamp) - unix_timestamp(second.timestamp) > 360 group by ip, first_visit";

Короче запрашиваем одну таблицу как две и сравниваем их.


Юзайте кому надо и ненадо.
 

rudik

Developer
Нифига, это не то что нужно.:mad:
Кто сталкивался с проблемой помогите!!!
 

Barlone

Guest
Re: Выборка полей с разницой значений большей чем задана?

Автор оригинала: rudik
Есть таблица с ip адресами и временем записи этого адреса в формате timestamp.

Необходимо вывести все уникальные ip адреса. Но так чтоб не выврдились ip адреса с разницей во времени меньше 3600 сек.

Т.е. как вывести значения разница между котороми больше 3600?
Разница больше 3600 хотя бы с одним или больше 3600 с каждым из остальных ?
К примеру, числа 1000 3000 5000 7000 9000
У каждого хотя бы с одним из остальных разница больше 3600, но нет ни одного, у которого разница с каждым из остальных больше 3600.

А вообще-то наверное group by left(timestamp,10) - по одному значению из каждого часа :)
 

GD

Guest
Re: Re: Выборка полей с разницой значений большей чем задана?

Автор оригинала: Barlone


Разница больше 3600 хотя бы с одним или больше 3600 с каждым из остальных ?
К примеру, числа 1000 3000 5000 7000 9000
У каждого хотя бы с одним из остальных разница больше 3600, но нет ни одного, у которого разница с каждым из остальных больше 3600.

А вообще-то наверное group by left(timestamp,10) - по одному значению из каждого часа :)
не особо понял вопрос, но может это поможет:

SELECT DISTINCT id_addr FROM ip_table WHERE date_field > 3600;
 
Сверху