虽然distinct是sql的一个语法,并不属于mysql,但此处以mysql举例。
用了那么多年的distinct,居然一直都是错的。一直以为distinct是去除重复的字段,原来它是去除重复的记录。

重复的记录是指distinct后所有的字段都相同的记录。

举例:假设在一个多店版的商城系统里,有一个记录销售记录的表,记录着每个店铺的每一笔销售额。如下:

运行下面的查询,然后分别对比结果,我们就不难发现,distinct是去除重复的记录。

第一条查询 select distinct uid from sale_log; 筛选出了有销售额的店主。
第二条查询 select distinct uid,store_id from sale_log; 筛选出了有销售额的店主的不同店铺。可以很明显的看出,此条查询返回的结果是过滤掉了 uid 和 store_id 都一样的记录,而不是我以前想当然的认为,只要有 distinct 关键字修饰的字段,都不会出现重复值。
最后,再次强调,distinct 是作用于整条查询,而不是作用于紧跟其后的字段。

九、distinct相关推荐

  1. 第二十九章 SQL命令 DISTINCT

    文章目录 第二十九章 SQL命令 DISTINCT 大纲 参数 描述 DISTINCT和ORDER BY DISTINCT和GROUP BY 字母大小写与DISTINCT优化 DISTINCT的其他用 ...

  2. SQLServer学习笔记九:DISTINCT子句和子查询

    学习目标 使用DISTINCT消除重复,仅提取唯一记录 使用子查询返回数据,作为进一步限制要检索的条件 DISTINCT DISTINCT关键字与SELECT语句一起使用,用来消除重复,并仅提取唯一记 ...

  3. 学习ASP.NET Core Razor 编程系列九——增加查询功能

    原文:学习ASP.NET Core Razor 编程系列九--增加查询功能 学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.N ...

  4. 一个简单的blog系统(九) 增加标签和标签页面

    一个简单的blog系统(九) 增加标签和标签页面 1.现在,我们来给博客添加标签和标签页面. 假定每篇文章最多只有两个标签,当单机主页左侧标签页链接的时候,跳转到标签页并且列出所有已经有的标签,当单击 ...

  5. n皇后问题c语言_九章算法 | N皇后问题

    n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击(任意两个皇后不能位于同一行,同一列,同一斜线). 给定一个整数n,返回所有不同的n皇后问题的解决方案. 每个解决方案包含一个明确的 ...

  6. 八皇后时间复杂度_九章算法 | N皇后问题

    n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击(任意两个皇后不能位于同一行,同一列,同一斜线). 给定一个整数n,返回所有不同的n皇后问题的解决方案. 每个解决方案包含一个明确的 ...

  7. 备战金九银十,腾讯 T4 梳理 2022 年最全 999 道 Java 岗必备面试题答案

    前言 今年马上又准备迎接金九银十了,你是否还在寻找没有"996"的公司,或者你在面试上面摘了跟头?准备了体体面面的自我介绍,败在了技术深度上:又或者技术知识背得完完全全,却输在了面 ...

  8. 没有金三银四,又要迎接所谓的金九银十,今年大环境这么差,Java岗必备面试题及答案学习还是得学

    前言 今年并没有"金三银四",但是马上又准备迎接金九银十了,你是否还在寻找没有"996"的公司,或者你在面试上面摘了跟头?准备了体体面面的自我介绍,败在了技术深 ...

  9. 备战金九银十,腾讯T4梳理2022年最全999道Java岗必备面试题答案

    Java集合/泛型面试题 1.ArrayLi st和1inkedList的区别 2.HashMap和HashT abl e的区别 3.Collecti on包结构,与Collections的区别 4. ...

最新文章

  1. NPOI读取Excel数据应用
  2. 香港大学赵恒爽助理教授招收CV/ML等方向全奖博士生、博士后
  3. 【机器学习基础】Softmax与Sigmoid你还不知道存在这些联系?
  4. Java设计模式之行为型:迭代器模式
  5. U盘 制作 win 7 64bit 旗舰版 安装盘
  6. 前端学习(7):web的三大技术
  7. ue4导入倾斜摄影_倾斜摄影建模干货|还怕搞不定CC空三?这里只要5分钟……
  8. toolstripmanager --工具栏或菜单的合并
  9. HTML5的表单验证属性--pattern
  10. 【产品】产品经理常用的五大分析法
  11. mc1.8.1怎么局域网java_同一台电脑同时装jdk1.8和jdk1.7
  12. HDU 2159 完全背包
  13. skywalking学习
  14. timesat数据如何读取_CMPR软件安装教程和如何转换XRD格式
  15. Flash游戏开发必备书籍
  16. 查询平均成绩最高的同学(MSSQL)
  17. stm32L476RG,通过串口打印信息
  18. LayUI 性别前端显示
  19. 短视频剪辑怎么自学?短视频剪辑的教程分享
  20. python编译型语言和解释型语言

热门文章

  1. 深圳市收运体系运营管理_房地产企业如何搭建运营管理体系
  2. barrier linux,Linux系统上启用barrier?
  3. 去掉一个linux的ip,linux – iptables删除除一个IP之外的所有传入ICMP请求
  4. java 判断今天_Java 判断某个具体时间是否属于当天范围(24H)
  5. 编程一万小时是种什么样的体验?
  6. 啥是指标陷阱?很多就出现在你的身边!
  7. Spring Security 实战:登录成功后返回 JWT Token
  8. 微服务2017年度报告出炉:4大客户画像,15%传统企业已领跑
  9. css样式脱离标准文档流
  10. C#中的get和post请求(工具类)