我想从表中删除超过100行的最短条目。
我认为我需要执行以下操作:
按所需列的长度排序,并删除超过100行的第一个(或最后一个)X项。
第一部分应该是这样的:
select rowid, length(column_name) as length from table order by length;
但是如何删除第100个之后的?
我想出了这种技术,但不确定它是否最佳:
WITH cte AS
(SELECT rowid, length(column) AS length FROM table order by length desc limit 100)
DELETE FROM table WHERE rowid NOT IN (SELECT rowid FROM cte);