相关疑难解决方法(0)

如何在PostgreSQL中通过排序删除固定数量的行?

我正在尝试将一些旧的MySQL查询移植到PostgreSQL,但我遇到了这个问题:

DELETE FROM logtable ORDER BY timestamp LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

PostgreSQL不允许对其删除语法进行排序或限制,并且该表没有主键,因此我无法使用子查询.此外,我想保留在查询删除的行为究竟该规定数量的记录-例如,如果表中包含30行,但它们都具有相同的时间戳,我还是想删除10,虽然它并不重要哪10.

所以; 如何在PostgreSQL中通过排序删除固定数量的行?

编辑:没有主键意味着没有log_id列或类似.啊,遗留系统的乐趣!

sql postgresql

94
推荐指数
4
解决办法
7万
查看次数

限制 Postgres 删除

带有安全限制的简单 DELETE 会引发语法错误:

DELETE FROM system."products" LIMIT 1
Run Code Online (Sandbox Code Playgroud)

错误:“LIMIT”处的语法错误

SQL 状态:42601

如何限制要删除的行数?

(PostgresSQL 9.6 版)

postgresql limit sql-delete

1
推荐指数
1
解决办法
1329
查看次数

标签 统计

postgresql ×2

limit ×1

sql ×1

sql-delete ×1