如何选择mysql上一行的最后一列?
对于这样的表:
ID qty1 qty2 qty3 qty4 qty5 qty6 qty7
1 20 10 90 40 0 0 0
2 90 80 0 0 0 0 0
结果应为:
ID last_column_value
1 40
或
ID last_column_value
2 80
如果我需要1列上的最后一个值,通常我会使用表中的Select Max(ID)。
答案 0 :(得分:1)
我能看到解决问题的唯一方法是做一个令人讨厌的嵌套IF,如下所示。
SELECT ID, IF(qty7 <> 0,qty7, IF(qty6 <> 0,qty6, IF(qty5 <> 0,qty5, IF(qty4 <> 0,qty4, IF(qty3 <> 0,qty3, IF(qty2 <> 0,qty2, qty1)))))) last_column_value
FROM qtytable
这导致
ID LAST_COLUMN_VALUE
1 40
2 80