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日志模块logging简介
Apr 13 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
python导入时小括号大作用
Jan 10 Python
python3中set(集合)的语法总结分享
Mar 24 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
python ipset管理 增删白名单的方法
Jan 14 Python
python numpy实现文件存取的示例代码
May 26 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
python线程中的同步问题及解决方法
Aug 29 Python
Python Selenium参数配置方法解析
Jan 19 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
python 两种方法删除空文件夹
Sep 29 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基础学习小结
2011/04/17 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
Python 实现12306登录功能实例代码
2018/02/09 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
python中open函数的基本用法示例
2019/09/07 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
地质灾害防治方案
2014/05/14 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
2015年司机工作总结
2015/04/23 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android