col0 col1 col2 A B C
0 0 1 1 2 3
0 1 1 1 2 3
0 0 1 1 2 3
0 2 0 1 2 3
0 1 1 1 2 3
您好,我有一个表,其中一些列是col0,col1,col2。首先,我想找到符合某些条件的每种组合。比方说,为了简单起见,找到每个三是在数据库中超过一次(GROUP BY和已经在我的更复杂的现实情况下需要):sqlite选择所有行中的某些列在可能值集
SELECT col0,col1,col2 FROM table GROUP BY col0,col1,col2 HAVING COUNT(*) > 1
给了我这样的:
col0 col1 col2
0 0 1
0 1 1
现在我想选择(实际删除)所有包含col0,col1,col2组合之一的行。
因此,像:
SELECT * FROM table WHERE (col0,col1,col2) IN (...select above...)
但是,这给了我一个错误,我想只是一列被允许在WHERE子句中的SQLite。所以可能需要使用某种连接,但是我需要正确使用连接的语法和类型。如何进行?谢谢。
该表是否是单列主键? – 2015-02-10 14:53:24
没有指定主键,可能只是一些自动ID可以使用 – Martin 2015-02-10 18:31:18