postgresql 仅选择日期为[已关闭]的已更改数据

guicsvcw  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(100)

已关闭。此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并阐明问题。

昨天关门了。
Improve this question

| id | data | date_changed |
| ___| ____ | ____________ |
| 1  | 111  | 10.10.2021   |
| 2  | 111  | 11.10.2021   |
| 3  | 222  | 12.10.2021   |
| 4  | 222  | 13.10.2021   |
| 5  | 111  | 14.10.2021   |

我只需要选择已更改的行,在本例中为id 1、3、5

111, 10.10.2021
222, 12.10.2021
111, 14.10.2021

3pvhb19x

3pvhb19x1#

一种解决方案是使用不同别名的相同表执行左连接,并将id与id + 1和相等数据进行比较,并且左连接中的数据为null。

查看运行情况dbfiddle的数据。

-- Simulating a table
with tb as (
    select t.* from (
        values(1, 111, '10.10.2021'), 
            (2, 111, '11.10.2021'),
            (3, 222, '12.10.2021'),
            (4, 222, '13.10.2021'),
            (5, 111, '14.10.2021')
    ) as t (id, data, date_changed)
)

select tb.* from tb
left join tb as ljtb
    on tb.id = (ljtb.id + 1)
    and tb.data = ljtb.data
where ljtb.data is null 
order by tb.id

字符串

相关问题