oracle 分组排序后取当前数值前一位的数值
时间: 2023-11-19 13:04:24 浏览: 76
你可以通过在分组排序后使用LAG函数来获取当前数值前一位的数值。下面是一个示例查询:
```
SELECT name, value, LAG(value) OVER (PARTITION BY name ORDER BY value DESC) AS prev_value
FROM your_table;
```
这里的`name`是分组的列名,`value`是排序的列名。`LAG(value)`函数表示获取上一行的`value`值,`OVER`子句中的`PARTITION BY name ORDER BY value DESC`表示按`name`列进行分组,并按`value`列进行排序。这样就能够获取每个分组内的当前数值前一位的数值了。
阅读全文