sqlite - 在db中查找重复的列多个值
问题描述
我有一个带有以下列的 sqlite 数据库:
id home path name layer
1 /home test user1 1
2 /etc test2 user2 1
3 /home test user3 1
4 /home test user4 1
5 /home test user1 1
6 /etc test2 user2 1
如何删除所有重复项,如果home
,path
并且name
相等,但前提是所有 3 个都相同?
Sl id 1 应该被删除,因为它是 id 5 的副本,而 id 2 是因为它是 id 6 的副本而被删除。
它应该是这样的:
id home path name layer
3 /home test user3 1
4 /home test user4 1
5 /home test user1 1
6 /etc test2 user2 1
解决方案
您可以通过以下方式实现group by
:
select
*
from data
group by "home", "path", "name"
having max("id")
order by "id"
推荐阅读
- python - 我提交 def 命令时给出的语法消息
- push-notification - 不知道如何在 Google 日历中开始活动时收到通知?
- c# - WCF 服务 - 无法检索服务绑定
- angular - This.router.navigate 不调用组件构造函数 - Angular 5 / AWS Amplify
- react-native - 使用 React Native 和 Firebase 自定义令牌在 LDAP 服务器上进行身份验证
- angular - 如何通过单击按钮填写表单?
- python - 无法从 sqlite3 数据库填充 Tkinter 列表框
- javascript - 当背景附件:固定应用时,如何阻止 Bootstrap 4 滑块图像在幻灯片上移动位置?(视差效果)
- python-3.x - 如何从 python 中的不同线程登录到不同的文件?
- swift - 以编程方式快速访问闭包成员