使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一
条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段
下面先来看看例子:
table
id name
1 a
2 b
3 c
4 c
5 b
比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。
select distinct name from table
得到的结果是:
name
a
b
c
好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:
select distinct name, id from table
结果会是:
id name
1 a
2 b
3 c
4 c
5 b
试了半天,也不行,最后在mysql手册里找到一个用法,
用group_concat(distinct name)配合group by name实现了我所需要的功能 5.0才支持的.
突然灵机一闪,既然可以使用group_concat函数,那其它函数能行吗?
赶紧用count函数一试,成功, 现在将完整语句放出:
select *, count(distinct name) from table group by name
结果:
id name count(distinct name)
1 a 1
2 b 1
3 c 1
再顺便说一句,group by 必须放在 order by 和 limit之前,
不然会报错。。。OK了
转自:http://xcy.17cha8.cn/read.php/441.htm
分享到:
相关推荐
今天,我们将深入探讨如何使用`DISTINCT`关键字在MySQL中查询多条不重复记录值,这不仅是一种实用技能,也是提升数据处理效率的关键所在。 ### `DISTINCT`关键字详解 `DISTINCT`关键字在SQL查询中扮演着一个至关...
当我们在查询表中数据时,可能会遇到重复值的情况,这时使用 DISTINCT 关键字可以帮助我们返回唯一的值。 DISTINCT 的基本用法 DISTINCT 关键字可以作用于单列或多列。下面是一个简单的示例: ``` SELECT ...
在MySQL数据库中,优化`DISTINCT`操作是一个关键的性能提升策略,特别是在处理大量数据时。上述场景中,用户遇到了一个问题:对一个10G以上的单表`user_access_xx_xx`执行`SELECT COUNT(DISTINCT nick)`以统计唯一...
在数据库查询操作中,经常需要使用`DISTINCT`关键字来去除重复记录,确保结果集中的每一条记录都是唯一的。然而,在某些场景下,使用`DISTINCT`可能会导致性能问题,尤其是在与`ORDER BY`或`LIMIT`结合使用时。为了...
* 了解如何使用 DISTINCT 关键字去重复记录 2. 多条件查询: * 了解如何使用 AND 和 OR 运算符指定多个查询条件 * 了解如何使用 IN 运算符指定多个值 * 了解如何使用 BETWEEN 运算符指定范围查询 3. 聚合函数查询...
在MySQL中,`DISTINCT`的使用方式和功能与其他SQL数据库系统(如SQL Server、Access等)大体相同,但有一些细微的差别。以下是对`DISTINCT`用法的详细解释: 1. **单列去重**: 当我们需要从一个表中获取唯一的某...
在MySQL中,`DISTINCT`的使用方式非常灵活,可以从单个列到多个列进行操作,也可以与聚合函数如`COUNT()`结合使用。以下是关于`DISTINCT`在SQL中的具体用法和一些注意事项。 1. **单列去重** 当我们只对单一列应用...
当我们处理数据时,有时需要从查询结果中去除重复的记录,这时`DISTINCT`关键字就派上了用场。本文将深入探讨MySQL中的`DISTINCT`语句,以及如何在Visual C++(简称VC)开发环境中与MySQL数据库进行交互。 `...
标题“MySQL 查询重复内容只显示一条”涉及到的是在MySQL数据库中如何处理重复数据的问题。在数据分析或数据存储过程中,有时我们需要找出并处理重复的记录,只保留一条作为代表。这通常可以通过聚合函数和分组来...
MySQL DISTINCT 是一种用于消除查询结果集中重复行的SQL语句,它的基本实现原理与GROUP BY类似,但在细节上有一定的区别。在理解DISTINCT的工作方式时,我们首先要了解它如何与索引交互,以及在无法利用索引时如何...
总之,`DISTINCT`是MySQL中处理重复数据的关键工具,但在使用时要注意其性能影响和正确性。优化查询、合理利用索引以及谨慎选择`DISTINCT`的应用位置,是提高查询效率和确保数据准确性的重要策略。在实际工作中,应...
使用distinct在mysql中查询多条不重复记录值的解决办法 在 MySQL 中,使用 distinct 关键字可以过滤掉重复记录,只保留一条。但是,这个关键字只能返回它的目标字段,而无法返回其它字段。这使得在查询多条不重复...
rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 ``` #### 四、安装MySQL 1. **添加必要的依赖库**: ```bash yum search libaio yum install libaio ``` 2. **创建MySQL用户组**: ```bash groupadd ...
在MySQL中,**视图**是一种特殊的虚拟表,其结果集由从本机表中选择的数据组成。视图并不存储实际的数据,而是存储一条SELECT语句,当用户访问视图时,数据库引擎会执行该SELECT语句并返回结果。因此,视图可以被视...
2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL ...
本文将详细探讨这两种方法的使用方法及其差异。 首先,`DISTINCT` 关键字用于从查询结果中去除重复的记录。在实际应用中,`DISTINCT` 主要有以下几种用法: 1. 计算不重复记录数量:`SELECT COUNT(DISTINCT id) ...
在数据去重方面,`DISTINCT` 关键字是去除重复记录的关键,它能够帮助查询出不重复的字段值。然而,`DISTINCT` 仅适用于返回特定字段的非重复值,而非整个记录。 多表连接是数据库操作中常见的需求,MySQL 支持左...
2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL ...
熟悉MySQL环境的使用,掌握在MySQL中创建数据库和表的方法,理解MySQL支持的数据类型、数据完整性在MySQL下的表现形式,练习MySQL数据库服务器的使用,练习CREATE TABLE,SHOW TABLES,DESCRIBE TABLE,ALTER TABLE...
### MySQL数据库学习资料知识点梳理 #### 一、MySQL基础概念与操作 - **数据库的创建与管理** - `SHOW DATABASES;`:列出当前服务器上所有的数据库。 - `CREATE DATABASE database_name;`:创建一个新的数据库。...