mysql 数据入库去重_MySQL中去重 distinct 的用法 ,数据库去重distinct「建议收藏」

mysql 数据入库去重_MySQL中去重 distinct 的用法 ,数据库去重distinct「建议收藏」一、distinct位置1.单独的distinct只能放在开头,否则报错,语法错误mysql>SELECTnickname,DISTINCT(openid)fromims_ewei_shop_member;[SQL]SELECTnickname,DISTINCT(openid)fromims_ewei_shop_member;[Err]1064-Youhavean…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、distinct 位置

1. 单独的distinct只能放在开头,否则报错,语法错误

mysql>SELECT nickname,DISTINCT(openid) from ims_ewei_shop_member;

[SQL] SELECT nickname,DISTINCT(openid) from ims_ewei_shop_member;

[Err] 1064 – You have an error in your SQL syntax; check the manual that corresponds

to your MySQL server version for the right syntax to use near ‘DISTINCT(openid)

from ims_ewei_shop_member’ at line 1

2. 现在把distinct放在开头

SELECT DISTINCT(openid),nickname from ims_ewei_shop_member;

# 查询成功

3. 与其他函数使用时候,没有位置限制如下

SELECT nickname,count(DISTINCT(openid)) from ims_ewei_shop_member;

# 这种情况下是正确的,可以使用。

二、distinct用法

1. 在count计算不重复的记录的时候能用到

SELECT COUNT(DISTINCT(openid)) from ims_ewei_shop_member;

# 就是计算ims_ewei_shop_member表中openid不同的记录有多少条

2. 在需要返回记录不同的如openid等具体值的时候可以用

SELECT DISTINCT(openid) from ims_ewei_shop_member;

# 返回ims_ewei_shop_member表中不同的openid的具体的值

3. 上面的情况2对于需要返回mysql表中2列以上的结果时会有歧义

# 无论是

SELECT DISTINCT(openid),nickname from ims_ewei_shop_member;

# 还是

SELECT DISTINCT openid,nickname from ims_ewei_shop_member;

# 特别注意:

# 实际上返回的是openid与nickname 同时不相同的结果,也就是DISTINCT同时作用了两个字段,必须得openid和nickname都相同的才被排除了,与我们期望的结果不一样,我们期望的是openid不同被过滤

# 在这种情况下,distinct同时作用了两个字段,openid,nickname

# 这时候可以考虑使用group_concat() 函数来进行排除,不过这个mysql函数是在mysql4.1以上才支持的

# 同时我们还可以利用下面的方式解决以上遇到的歧义问题通过group by分组

用distinct的时候,如果它有索引,mysql会把它转成group by的方式执行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187261.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数学建模及其基础知识详解(化学常考知识点)

    @[TOC]自动根据文章标题生成目录一、综合评价方法根据各评价方法所依据的理论基础,现代综合评价方法大致分为以下四大类:1、专家评价方法2、运筹学与其他数学方法2.1、层次分析法(AHP)2.2、模糊综合评判法(FCE)2.3、数据包络分析法(DEA)3、基于统计和经济的方法3.1、TOPSIS评价法,优化可用熵权法3.2、主次分析法和因子分析法主成分分析法通过克服相关性、重叠性,用较少的变量来代替原来较多的变量,而这种代替可以 反映原来多个变量的大部分信息,这实际上是一

    2022年4月13日
    42
  • ComponentName的用法

    ComponentName的用法在android应用中打开别的应用我当时第一眼看到的时候是懵逼的,这是个什么玩意开启界面不都是startActivity(intent)的吗?后来才反应过来不是要起自己界面中的Activity

    2022年7月1日
    33
  • Python冒泡排序算法及其优化「建议收藏」

    Python冒泡排序算法及其优化「建议收藏」冒泡排序所谓冒泡,就是将元素两两之间进行比较,谁大就往后移动,直到将最大的元素排到最后面,接着再循环一趟,从头开始进行两两比较,而上一趟已经排好的那个元素就不用进行比较了。(图中排好序的元素标记为黄色柱子)冒泡排序动图演示上python代码:defbubble_sort(items):foriinrange(len(items)-1):…

    2022年10月15日
    0
  • CreateMutex WaitForSingleObject ReleaseMutex使用「建议收藏」

    CreateMutex WaitForSingleObject ReleaseMutex使用「建议收藏」HANDLECreateMutex( LPSECURITY_ATTRIBUTESlpMutexAttributes,// BOOLbInitialOwner, //flagforinitialownership LPCTSTRlpName    //pointertomutex-objectname );

    2022年6月26日
    25
  • 解释spring框架中bean的生命周期_Spring bean的生命周期

    解释spring框架中bean的生命周期_Spring bean的生命周期该篇博客就来了解IoC容器下Bean的一生吧,也可以理解为bean的生命周期。首先你需要知道的知识在IoC容器启动之后,并不会马上就实例化相应的bean,此时容器仅仅拥有所有对象的BeanDefinition(BeanDefinition:是容器依赖某些工具加载的XML配置信息进行解析和分析,并将分析后的信息编组为相应的BeanDefinition)。只有当getBean()调…

    2022年9月18日
    0
  • Java 中的三大特性(超详细篇)

    Java 中的三大特性(超详细篇)简介Java的三大特性:封装、继承、多态乍一听,好像很高大上,其实当你真正用的时候,会发现高大上的还在后面呢。。。热身在正式讲解三大特性之前,先普及几个知识1.访问权限修饰符Java中关于访问权限的四个修饰符,表格如下 private friendly(默认) protected public 当前类访问权限 √ √ √ √ 包访问权限 × √ √ √ 子类访问权限 × × √

    2022年7月7日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号