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通过zlib实现压缩与解压字符串的方法
Nov 19 Python
Python使用正则匹配实现抓图代码分享
Apr 02 Python
详细解读Python中的__init__()方法
May 02 Python
python中enumerate函数用法实例分析
May 20 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
python实现扫描日志关键字的示例
Apr 28 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
Sep 20 Python
keras之权重初始化方式
May 21 Python
Python新手学习函数默认参数设置
Jun 03 Python
用python制作个音乐下载器
Jan 30 Python
python内置模块之上下文管理contextlib
Jun 14 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报表之jpgraph柱状图实例代码
2011/08/22 PHP
PHP静态文件生成类实例
2014/11/29 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
深入理解python中的select模块
2017/04/23 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
大学生职业生涯规划范文
2014/01/22 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
模特大赛策划方案
2014/05/28 职场文书
党校学习个人总结
2015/02/15 职场文书
离婚代理词范文
2015/05/23 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书