我有一个包含 3 列(id、金额、时间)的表。该表根据id升序排列。我想删除除第一个之外在金额列中具有相同值的所有连续行。
eg:
id: 12,15,16,17,19,22
amount: 555,546,546,53,53,500
time:
Answer:
id:12,15,17,22 amount: 555,546,53,500 time:
只要连续行在金额列中具有相同的值,连续行的时间列就相同。
我在 SO 上搜索但找不到类似的问题
您可以使用lag()
:
select t.*
from (select t.*, lag(amount) over (order by id) as prev_amount
from t
) t
where prev_amount is distinct from amount;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)