mysql中distinct
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相关推荐
- MySQL中distinct和group by性能比较
MySQL中distinct和group by性能比较[转] 之前看了网上的一些测试,感觉不是很准确,今天亲自测试了一番.得出了结论(仅在个人计算机上测试,可能不全面,仅供参考) 测试过程: 准备一张 ...
- MySQL中distinct和distinctrow的区别
引用官方文档的内容MySQL中distinct和distinctrow的区别 原文:The ALL and DISTINCT modifiers specify whether duplicate r ...
- mysql中distinct走索引吗_MySQL中索引优化distinct语句及distinct的多字段操作
MySQL通常使用GROUPBY(本质上是排序动作)完成DISTINCT操作,如果DISTINCT操作和ORDERBY操作组合使用,通常会用到临时表.这样会影响性能. 在一些情况下,MySQL可以使用 ...
- MySQL中distinct和group by性能比较[转]
之前看了网上的一些测试,感觉不是很准确,今天亲自测试了一番.得出了结论(仅在个人计算机上测试,可能不全面,仅供参考) 测试过程: 准备一张测试表 1 CREATE TABLE `test_test` ...
- mysql中distinct关键字,MySQL关键字Distinct的详细介绍
DDL Prepare SQL: ? Prepare Data: ? 查询数据如下图所示: 第一种情况,使用Distinct关键字,查询单列数据,如下图所示: 结果:对 name 字段进行去重处理,符 ...
- mysql中distinct关键字_MySQL关键字Distinct的详细介绍
MySQL关键字Distinct用法介绍 DDL Prepare SQL: create table test(id bigint not null primary key auto_incremen ...
- mysql中distinct删除_MySQL distinct查询返回具有重复信息的行,需要重复数据删除
我有一个类似于MySQL数据库中下面显示的表格: +----------+----------+----------+----------+----------+ | Column_A | Colum ...
- 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 ...
- mysql中distinct是什么_数据库中 DISTINCT 的作用是什么?
展开全部 SQL数据库中, DISTINCT表示去掉重复的行,作用是针对包含重复值的数据表,用于返回唯一不同的值.语法是636f707932313133353236313431303231363533 ...
最新文章
- 6个整改!2018年国家重点实验室评估结果公布
- Java web 部分
- 问题:二进制数中1的个数。
- Python学习入门基础教程(learning Python)--3.3.4 Python的if-elif-else语句
- 一、.NET中的网络组件
- [css] 用css3实现文字发光的效果
- pod中mysql配置文件修改_通过configmap更新k8s里的mysql配置文件
- (转)MyBatis框架的学习(六)——MyBatis整合Spring
- 在EXCEL中使用SQL语言对工作表进行操作
- Hibernate反射DAO模式
- 微信小程序开源demo汇总
- 计算机网路vlan划分练习
- 前端页面缓存系列之localStorage
- python 0基础学习笔记6:OS模块、窗口控制、语言、内存修改
- 带你快速通过字节跳动面试,看看这篇文章吧!
- Part1---3.数据库编程与完整性
- 微信小程序富文本标签 rich-text 图片自适应大小问题
- Android应用程序开发——创建应用程序
- 猛犸创始人季逸超:互联网新人类
- 华为服务器上传文件,云服务器上传文件方式