sql - SQL Server 查询以获取前置位置 No
问题描述
我正在尝试编写 SQL 查询,它将在新列中显示一个“预定位编号”,其中显示的值基于前一个位置编号列行上的值。
我将不胜感激任何帮助。谢谢你。
解决方案
您似乎正在寻找 LAG()。为此,您需要一个可用于对数据进行排序的列,以便您的 RDBMS 可以评估哪条记录是当前记录的先前记录。假设这个列被称为 id,那么:
SELECT
id,
position_nr,
LAG(position_nr) OVER(ORDER BY id) pre_position_nr
FROM mytable
推荐阅读
- python - pandas 的并行处理与 dask 相比如何?
- c++ - 如何在 doxygen 中将成员类型覆盖为另一种类型
- javascript - 如何使 TextInput 只接受最多 2 个小数位的最大值?
- c# - 出现错误:协议消息包含无效标签(零),尽管字节完全相同
- cryptography - 任何人都知道如何搭建从 ERC20 代币到 BEP20 代币的桥梁
- python - 日期时间格式问题 Python
- python - 仅限 Spyder:asyncio - 无法关闭正在运行的事件循环
- php - 1062 键 'pim_catalog_completeness.PRIMARY' 的重复条目 '2147483647'
- c# - 如何使用 FileValidationAttribute 验证文档类型?
- javascript - 键盘没有在 iPhone 上自动打开