Art*_*tur 12 postgresql subquery sql-delete
如何在postgreSQL中只删除几行?我想在子查询中获取要删除的10行.
我的桌子
Rah*_*thi 25
您需要根据您的要求使用where条件,如下所示:
delete from mytable where id in(1,2,3,4,5,6,7,8,9,10)
Run Code Online (Sandbox Code Playgroud)
要么
delete from mytable where id in(select id from mytable where someconditon)
Run Code Online (Sandbox Code Playgroud)
或者如果你想使用ctid删除前10名,你可以尝试这样做:
DELETE FROM mytable
WHERE ctid IN (
SELECT ctid
FROM mytable
GROUP BY s.serialId, s.valuetimestamp
ORDER BY s.serialId
LIMIT 10
)
Run Code Online (Sandbox Code Playgroud)
如果您要从表中删除重复项,请尝试以下操作:
DELETE FROM mytable
WHERE ctid NOT IN
(SELECT MAX(s.ctid)
FROM table s
GROUP BY s.serialId, s.valuetimestamp);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20540 次 |
| 最近记录: |