在mytable
上,没有列是主列:
| 姓名|公司|职位|
| - ------|- ------|- ------|
| 迈克尔|谷歌|试验员|
| 迈克尔|谷歌|试验员|
| 迈克尔|谷歌|试验员|
| 彼得|脸书|显影剂|
| 彼得|脸书|显影剂|
| 彼得|脸书|显影剂|
| 彼得|脸书|显影剂|
我想要的:
| 姓名|公司|职位|
| - ------|- ------|- ------|
| 迈克尔|谷歌|试验员|
| 彼得|脸书|显影剂|
这是行不通的:
DELETE FROM
mytable
WHERE
Name NOT IN (
SELECT
MAX(Name)
FROM
mytable
GROUP BY
Company
)
;
如果不创建新表,也没有CTE,如何删除重复行,只留下一行?
3条答案
按热度按时间7gcisfzg1#
您可以选择保留
min
或rowid
分组的max
,按所示的3列分组。f1tvaqid2#
如果您想删除“重复”行,可以编写以下内容:
yourTableName -应该是真实的的数据库表
yourColumn -应该是真实的的数据库列
7y4bm7vi3#
希望此解决方案对您有用: