2014-11-19 3 views
0

Так у меня есть таблица данных, которая выглядит какКак найти строки, которые отличаются от заданной суммы в SQL?

enter image description here

Где каждая строка имеет столбец временной метки в Unix времени. Мне нужно найти все места, где две записи с одним и тем же ресурсом_id - это x (день месяц, год и т. Д.), Время от времени, поэтому мне нужен запрос, который будет проходить, и посмотрим на различия между одной строкой и следующей и плюем назад те, которые отличаются более чем на определенную сумму.

У кого-нибудь есть идеи о том, как это сделать? Заранее спасибо

+1

Добро пожаловать в Переполнение стека. Это действительно неприятность, когда вы помещаете свои образцы данных в вопрос как образ, потому что это затрудняет сборка примера на sqlfiddle. Кроме того, вопрос: эти строки должны быть упорядочены столбцом 'resource_id'? –

ответ

0

Вы можете использовать кросс-соединение для сравнения каждой строки в таблице с каждой другой строкой в ​​таблице, а затем сравнить поле. Например, будет возвращено следующее место, где две строки разделены на 2 месяца.

Обратите внимание, что это может быть очень медленно, если стол большой. Или в соответствии с MySQL docs, просто говоря, что JOIN без указания условия приведет к декартовому продукту, который эквивалентен перекрестному соединению.

Смежные вопросы