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 相关文章推荐
在Python中用has_key()方法查找键是否存在的教程
May 21 Python
浅析Python中的多条件排序实现
Jun 07 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
微信跳一跳小游戏python脚本
Jan 05 Python
TensorFlow实现创建分类器
Feb 06 Python
使用Python读取大文件的方法
Feb 11 Python
Django中的forms组件实例详解
Nov 08 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
python中怎么表示空值
Jun 19 Python
Python 如何定义匿名或内联函数
Aug 01 Python
Python机器学习实战之k-近邻算法的实现
Nov 27 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读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
php微信公众平台开发类实例
2015/04/01 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
php加密解密字符串示例
2016/10/13 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
浅说js变量
2011/05/25 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
python连接池实现示例程序
2013/11/26 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
生日寿宴答谢词
2014/01/19 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
党员剖析材料范文
2014/09/30 职场文书
2015年药店工作总结
2015/04/20 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL