pgsql删除指定的重复数据
时间: 2023-07-27 12:07:20 浏览: 106
去除重复数据
如果你想要删除 PostgreSQL 数据库中指定的重复数据,可以使用以下方法:
假设你有一个表 `example_table`,它有以下列:
```
id | name | age
---+------+-----
1 | John | 25
2 | Mary | 30
3 | John | 25
4 | John | 25
5 | Peter| 28
```
如果你想要删除 `name` 和 `age` 列都相同的重复记录,可以使用以下 SQL 语句:
```sql
DELETE FROM example_table
WHERE id IN (
SELECT id
FROM (
SELECT id, ROW_NUMBER() OVER (partition BY name, age ORDER BY id) AS row_num
FROM example_table
) t
WHERE t.row_num > 1
)
```
这将删除 `John, 25` 这一行的记录,因为该行与 `1` 和 `4` 行都是重复的。
请注意,你需要根据你的表结构和需求调整这个 SQL 语句,以确保你只删除了你想要删除的重复记录。
阅读全文