sql - 显示具有不同值的行
问题描述
我有一个 ID 和 Value 列。我需要显示当前行中的值(在值列中)与前一行中的值不同的行。尝试使用滞后,但它不能正常工作。
它应该显示 1,5,7,9。(示例)
+----+-------+
| 身份证 | 价值 |
+----+-------+
| 1 | 10 |
| 3 | 10 |
| 5 | 20 |
| 6 | 20 |
| 7 | 30 |
| 9 | 40 |
| 10 | 40 |
解决方案
Андрей。请试试这个:
SELECT id,value FROM
(
SELECT id, value, LAG(value)OVER (order by id) prevVal
from tab
) X
WHERE (prevVal<>value) or (prevVal IS NULL)
推荐阅读
- node.js - 使用 Nodejs 和 React 保存自定义表单数据并在 Shopify 的店面中使用它
- sql - 当我运行我的工作时,我正在使用 pgagent 在 postgresql 中做一份工作,它说无法连接到数据库
- java - 使用带有 Java 的 Azure SDK 下载带有用户委派 SAS 的 blob
- python - Pandas groupby sum 差值 shift 累积和
- java - 在新的 SKD29 列表文件上不起作用
- jsonschema - 数组或对象的 Json 模式验证
- django - 登录用户 Django REST
- python - 通过唯一标识符计算范围内交易的最有效方法
- gradle - 如何从 AndroidManifest.xml 中删除 minSdkVersion 但仍然能够使用 Make 构建?
- java - SpringJunit4Runner 没有找到测试