Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQLite-没有这样的表:使用CTE删除重复记录时_Java_Database_Sqlite - Fatal编程技术网

Java SQLite-没有这样的表:使用CTE删除重复记录时

Java SQLite-没有这样的表:使用CTE删除重复记录时,java,database,sqlite,Java,Database,Sqlite,我已经创建了一个联系人表(姓名、电话、电子邮件),我有一些重复的记录要删除 WITH ContactsCTE AS ( SELECT *, row_number() OVER ( PARTITION BY Name ORDER BY Name) as RowNumber FROM Contacts ) SELECT * FROM ContactsCTE 当我使用SELECT时,它会显示它们的数据和行数,我想它可以正常工作 | Name | Phone | Email

我已经创建了一个联系人表(姓名、电话、电子邮件),我有一些重复的记录要删除

WITH ContactsCTE AS (
    SELECT *, row_number() OVER ( PARTITION BY Name ORDER BY Name) as RowNumber
    FROM Contacts
)
SELECT * FROM ContactsCTE
当我使用SELECT时,它会显示它们的数据和行数,我想它可以正常工作

| Name | Phone |     Email      | RowNumber |
| Kris | 0123  | kris@gmail.com |     1     |
| Kris | 0123  | kris@gmail.com |     2     |
| Kris | 0123  | kris@gmail.com |     3     |
| Annie| 065   | annie@gmail.com|     1     |
| Bob  | 0123  | bob@gmail.com  |     1     |
| Bob  | 0123  | bob@gmail.com  |     2     |
但是如果我想删除它们

 WITH ContactsCTE AS (
        SELECT *, row_number() OVER ( PARTITION BY Name ORDER BY Name) as RowNumber
        FROM Contacts
    )
 DELETE FROM ContactsCTE WHERE RowNumber > 1
我得到这个信息: “结果:没有这样的表格:ContactsCTE”
在第1行:

SQLite不支持可更新的CTE。
您可以使用
不存在

DELETE FROM Contacts 
WHERE EXISTS (
  SELECT 1 FROM Contacts c  
  WHERE c.Name = Contacts.Name AND c.rowid < Contacts.rowid
);
请参阅。
结果:

DELETE FROM Contacts 
WHERE rowid > (
  SELECT MIN(rowid) FROM Contacts c  
  WHERE c.Name = Contacts.Name
);
| Name  | Phone | Email           |
| ----- | ----- | --------------- |
| Kris  | 123   | kris@gmail.com  |
| Annie | 65    | annie@gmail.com |
| Bob   | 123   | bob@gmail.com   |