1.Distinct 位置

单独的distinct只能放在开头,否则报错,语法错误,与其他函数使用时候,没有位置限制如下

Select player_id,count(distinct(task_id))from task;

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

2.Distinct用法

a.在count计算不重复的记录的时候能用到
比如SELECT COUNT( DISTINCT player_id ) FROM task;
就是计算talbebname表中id不同的记录有多少条

b,在需要返回记录不同的id的具体值的时候可以用
比如SELECT DISTINCT player_id FROM task;
返回talbebname表中不同的id的具体的值

c.上面的情况2对于需要返回mysql表中2列以上的结果时会有歧义
比如SELECT DISTINCT player_id, task_id FROM task;
实际上返回的是player_id与task_id同时不相同的结果,也就是DISTINCT同时作用了两个字段,必须得player_id与task_id都相同的才被排除了,与我们期望的结果不一样,我们期望的是player_id不同被过滤

在这种情况下,distinct同时作用了两个字段,player_id,task_id

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

e. 其实还有另外一种解决方式,就是使用
SELECT player_id, task_id, count(DISTINCT player_id) FROM task.
虽然这样的返回结果多了一列无用的count数据(有时也许就需要这个数据)

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

select player_id,task_id from task group by player_id

group by 必须放在 order by 和 limit之前,不然会报错

g.对null不过滤

h.不能与all同时使用

转载于:https://www.cnblogs.com/tianzeng/p/9278132.html

mysql中distinct相关推荐

  1. MySQL中distinct和group by性能比较

    MySQL中distinct和group by性能比较[转] 之前看了网上的一些测试,感觉不是很准确,今天亲自测试了一番.得出了结论(仅在个人计算机上测试,可能不全面,仅供参考) 测试过程: 准备一张 ...

  2. MySQL中distinct和distinctrow的区别

    引用官方文档的内容MySQL中distinct和distinctrow的区别 原文:The ALL and DISTINCT modifiers specify whether duplicate r ...

  3. mysql中distinct走索引吗_MySQL中索引优化distinct语句及distinct的多字段操作

    MySQL通常使用GROUPBY(本质上是排序动作)完成DISTINCT操作,如果DISTINCT操作和ORDERBY操作组合使用,通常会用到临时表.这样会影响性能. 在一些情况下,MySQL可以使用 ...

  4. MySQL中distinct和group by性能比较[转]

    之前看了网上的一些测试,感觉不是很准确,今天亲自测试了一番.得出了结论(仅在个人计算机上测试,可能不全面,仅供参考) 测试过程: 准备一张测试表 1 CREATE TABLE `test_test` ...

  5. mysql中distinct关键字,MySQL关键字Distinct的详细介绍

    DDL Prepare SQL: ? Prepare Data: ? 查询数据如下图所示: 第一种情况,使用Distinct关键字,查询单列数据,如下图所示: 结果:对 name 字段进行去重处理,符 ...

  6. mysql中distinct关键字_MySQL关键字Distinct的详细介绍

    MySQL关键字Distinct用法介绍 DDL Prepare SQL: create table test(id bigint not null primary key auto_incremen ...

  7. mysql中distinct删除_MySQL distinct查询返回具有重复信息的行,需要重复数据删除

    我有一个类似于MySQL数据库中下面显示的表格: +----------+----------+----------+----------+----------+ | Column_A | Colum ...

  8. mysql中distinct与join,INNER JOIN DISTINCT与MySQL

    我有一个mysql问题.我有两张这样的桌子需要一起加入. 表: id otherid2 1 | 1 2 | 1 3 | 2 4 | 2 表2: otherid otherid2 1 | 1 2 | 1 ...

  9. mysql中distinct是什么_数据库中 DISTINCT 的作用是什么?

    展开全部 SQL数据库中, DISTINCT表示去掉重复的行,作用是针对包含重复值的数据表,用于返回唯一不同的值.语法是636f707932313133353236313431303231363533 ...

最新文章

  1. 6个整改!2018年国家重点实验室评估结果公布
  2. Java web 部分
  3. 问题:二进制数中1的个数。
  4. Python学习入门基础教程(learning Python)--3.3.4 Python的if-elif-else语句
  5. 一、.NET中的网络组件
  6. [css] 用css3实现文字发光的效果
  7. pod中mysql配置文件修改_通过configmap更新k8s里的mysql配置文件
  8. (转)MyBatis框架的学习(六)——MyBatis整合Spring
  9. 在EXCEL中使用SQL语言对工作表进行操作
  10. Hibernate反射DAO模式
  11. 微信小程序开源demo汇总
  12. 计算机网路vlan划分练习
  13. 前端页面缓存系列之localStorage
  14. python 0基础学习笔记6:OS模块、窗口控制、语言、内存修改
  15. 带你快速通过字节跳动面试,看看这篇文章吧!
  16. Part1---3.数据库编程与完整性
  17. 微信小程序富文本标签 rich-text 图片自适应大小问题
  18. Android应用程序开发——创建应用程序
  19. 猛犸创始人季逸超:互联网新人类
  20. 华为服务器上传文件,云服务器上传文件方式

热门文章

  1. 总结JavaScript中的继承
  2. 软件工程 speedsnail 第二次冲刺1次
  3. C#调用js,js调用C#
  4. ★LeetCode(453)——最小移动次数使数组元素相等(JavaScript)
  5. jq判断html为空,jquery如何判断是否为null?
  6. fastdfs windows部署_从零搭建分布式文件系统MinIO比FastDFS要更合适
  7. 怎么用手机查看WiFi密码?
  8. 搬家请搬家公司好还是请朋友帮忙好?
  9. 退休前后,工资差距有多大?
  10. 刹车时到底要不要踩离合器?