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 break语句详解
Mar 11 Python
基于Python实现的扫雷游戏实例代码
Aug 01 Python
python提示No module named images的解决方法
Sep 29 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
Python selenium根据class定位页面元素的方法
Feb 26 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
django数据模型(Model)的字段类型解析
Dec 25 Python
Python模拟FTP文件服务器的操作方法
Feb 18 Python
Python tkinter布局与按钮间距设置方式
Mar 04 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
Python中bisect的用法及示例详解
Jul 20 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 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
php事务处理实例详解
2014/07/11 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
js常用代码段整理
2011/11/30 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
Python解析json文件相关知识学习
2016/03/01 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
Python如何使用函数做字典的值
2019/11/30 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
Shein英国:女性时尚网上商店
2019/04/10 全球购物
出纳岗位职责模板
2013/11/27 职场文书
二年级班级文化建设方案
2014/05/10 职场文书