我有一个表格(其中包括)2列(比如spark.yarn.executor.memoryOverhead
和A
),B
和一个primary key
(比如说C)。我想删除除最后XXX条目之外的所有内容(按时间戳排序)。任何人都可以帮我解决语法问题吗?我想它应该是这样的:
DELETE FROM Table WHERE A,B NOT IN(SELECT A,B FROM Table ORDER BY C DESC LIMIT XXX)
这是正确的SQL吗?
编辑:不知何故,这个问题被关闭了。然而,引用的问题只有适用于只有一个主键(或索引)的表的答案。如何将其扩展为有两个表的表?
答案 0 :(得分:0)
你可以试试这个
DELETE FROM TABLE T1 INNER JOIN (SELECT A, B FROM TABLE ORDER BY C DESC LIMIT XXXX) AS T2 ON T1.A = T2.A AND T1.B = T2.B
在内部选择,您可以定义删除条件。