0
一個差異列我有以下結構的表:如何創建組的MySQL
Id_no | year |
--------------
22222 | 1999 |
22255 | 2000 |
.....
我試圖創建具有以下結構的表中的DIFF列,因此,這將是單獨完成每個ID:
Id_no | year | diff
--------------------
22222 | 1999 | 0
22222 | 2000 | 1
22222 | 2005 | 5
55555 | 2000 | 0
55555 | 2014 | 14
我試圖做到以下幾點:
select x.Id_no,
x.year,
IFNULL(x.year - max(y.year), 0) AS diff
from my_table x
left
join my_table y
on y.year < x.year
group by
x.Id_no,
x.year
order by x.Id_no
結果並不如前pected我懷疑DIFF的計算是不工作,因爲我預期例如:
Id_no | year | diff
----------------------
2898 | 1997 | 1
2898 | 1989 | 2
1997年和1989年之間的差異是不2
您的示例數據有兩個不同的'id_no's。我不確定預期的結果應該是什麼意思。 –
你是對的,我修正了我的例子 – Bata