Django 解决distinct无法去除重复数据的问题


Posted in Python onMay 20, 2020

今天需要使用Django查询一列的字段(不含重复),搞了一上午,发现这样的事情:如图:

Django 解决distinct无法去除重复数据的问题

得到的数据几乎是相等的,没有区别。

但是仔细看会发现:下面的数据比起上面的还是少了一个。

解决办法:

django的distinct在使用之前必须先使用order_by方法排序,如图:

Django 解决distinct无法去除重复数据的问题

这样就完美解决了这个问题。

补充知识:Distinct和Group by去除重复字段记录

重复记录 有两个意义,一是完全重复的记录,也即所有字段均重复的记录

二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。

1、对于第一种重复,比较容易解决,使用

select distinct * from tableName

就可以得到无重复记录的结果集。

如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp

发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。

2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下

假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集

select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name
select * from #Tmp where autoID in(select autoID from #tmp2)

最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)

其它的数据库可以使用序列,如:

create sequence seq1;
select seq1.nextval as autoID, * into #Tmp from tableName

zuolo: 我根据上面实例得到所需要的语句为 SELECT MAX(id) AS ID,Prodou_id,FinalDye FROM anwell..tblDBDdata GROUP BY Prodou_id,FinalDye ORDER BY id,之前一直想用Distinct来得到指定字段不重复的记录是个误区。

以上这篇Django 解决distinct无法去除重复数据的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3基础之函数用法
Aug 13 Python
python实现批量下载新浪博客的方法
Jun 15 Python
和孩子一起学习python之变量命名规则
May 27 Python
Python Tkinter 简单登录界面的实现
Jun 14 Python
Python实现Restful API的例子
Aug 31 Python
python tkinter控件布局项目实例
Nov 04 Python
Pytorch to(device)用法
Jan 08 Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 Python
Keras 使用 Lambda层详解
Jun 10 Python
Python过滤序列元素的方法
Jul 31 Python
python unichr函数知识点总结
Dec 16 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 Python
在主流系统之上安装Pygame的方法
May 20 #Python
python Django 反向访问器的外键冲突解决
May 20 #Python
Python如何实现爬取B站视频
May 20 #Python
django在开发中取消外键约束的实现
May 20 #Python
520使用Python实现“我爱你”表白
May 20 #Python
django 外键创建注意事项说明
May 20 #Python
在django admin中配置搜索域是一个外键时的处理方法
May 20 #Python
You might like
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
python中的全局变量用法分析
2015/06/09 Python
python类中super()和__init__()的区别
2016/10/18 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
Python3读写ini配置文件的示例
2020/11/06 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
UNIX文件系统分类
2014/11/11 面试题
教学大赛获奖感言
2014/01/15 职场文书
合同意向书范本
2014/07/30 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
奖学金感谢信
2015/01/21 职场文书
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL
MySQL Server层四个日志的实现
2022/03/31 MySQL
nginx 配置缓存
2022/05/11 Servers