sql - 对同一列 SQL 中的相似值进行排序
问题描述
我正在尝试对我的数据库表中看起来相似的数据进行分类。
这是桌子的样子
ID | 帐户 |
---|---|
1 | 011 |
2 | 11 |
3 | 023 |
4 | 23 |
5 | 456 |
我需要一个选择查询,它将我的数据分类如下表所示,忽略唯一值。
我可以在熊猫中实现这一点,但如果我也学习如何在 SQL 中实现同样的目标,我将不胜感激
ID | 帐户1 | 帐户2 |
---|---|---|
1 | 011 | 11 |
2 | 023 | 23 |
解决方案
with data as (
select
id,
account as account1,
last_value(account) over (partition by account::numeric) as account2
from your_table
)
select id, account1, account2 from data where account1 != account2;
推荐阅读
- python - 根据数据框中列的阈值条件删除行
- angular - 导入时模块中的 Angular 提供程序不起作用
- java - 处理 toString NullPointException,即使在检查了 !null 之后
- c# - 防止用户 URL 输入中的 XSS
- php - 使用带有 Laravel-Doctrine 的工厂时调用未定义的方法 newCollection
- r - 尝试在 R 中随时间绘制功率排名数据
- java - 检查构造函数是否抛出异常的参数化测试
- angular - 如何在 Angular 7 中将内容类型设置为 multipart/form-data
- javascript - 具有多个跟踪 ID 的 Google Analytics(分析)页面浏览量
- corda - 使用 MockNetwork 时出现 ZoneVersionTooLowException