我想按名称恢复上面的值。
看看桌子。
我想在上个星期前得到一个列中的结果。
谢谢你
这样的做法应该管用:
SELECT number_week, name, LAG(number_week, 1, number_week) OVER (PARTITION BY name ORDER BY number_week) as before_last_number_week FROM t1;
sqlfiddle version
这就利用了 Lag() 窗口功能。“窗口”是一组可以选择排序的记录。在这里我们按 Name (两组/两个窗口)我们按 week_number 是的。然后用 滞后() 我们选择以前记录的周数(在该窗口中)。 滞后() 可以采用默认值,因此我们指定默认值是当前记录的 周数 是的。
Lag()
Name
week_number
滞后()
周数