2013-08-10 2 views
0

Я хотел бы, чтобы сгенерировать новую таблицу в MySQL, которая содержит разницу между каждыми двумя рядами .. Например, если у меня есть эта таблица:Разница между строк в MySQL

table1:

ID  VALUE 

1  16748 
1  19628 
1  23245 
1  23322 
1  33399 
2  15367 
2  17839 
2  34578 
2  53421 
3  14229 
3  19533 
........ 

Я хотел бы получить разницу между 2 последовательными значениями (строки [х + 1] -строка [х]), для всех значений в ID

Так что мой результат был бы:

ID  DIFF 

1  2880 
1  3617 
1  77 
1  10077 
2  2472 
2  16739 
2  18843 
3  5304 
+0

В чем проблема? –

+0

хорошо, как я могу это сделать? – user2578185

+0

Вы ищете один QUERY, который сделает это или какой-нибудь PHP-код? – DevlshOne

ответ

0

Вы можете попробовать что-то вроде этого: -

SELECT 
    MIN(T2.VALUE- T1.VALUE) AS Dif 
FROM 
    Table T1 INNER JOIN Table T2 on T1.VALUE< T2.VALUE 
ORDER BY 
    T1.VALUE 
0

Вы можете сделать то, что, вступив в таблицу с самим собой.

SELECT (first.value - second.value) AS differ FROM `table` AS first JOIN `table` AS second WHERE first.id + 1 = second.id 
Смежные вопросы