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模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
python Pygame的具体使用讲解
Nov 03 Python
微信跳一跳游戏python脚本
Apr 01 Python
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
Python 中Operator模块的使用
Jan 30 Python
python 如何获取页面所有a标签下href的值
May 06 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 单引号与双引号的区别
2009/11/24 PHP
PHP多文件上传类实例
2015/03/07 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
浅谈Python中函数的参数传递
2016/06/21 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
python tkinter控件布局项目实例
2019/11/04 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
艺术用品:Arteza
2018/11/25 全球购物
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
办公室保洁员岗位职责
2013/12/02 职场文书
保险专业自荐信范文
2014/02/20 职场文书
仓库规划计划书
2014/04/28 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
个人向公司借款协议书
2014/10/09 职场文书
感恩教育主题班会
2015/08/12 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
利用js实现简单开关灯代码
2021/11/23 Javascript