SQL之 distinct

http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html
点上面这个链接有关于distinct的讲解,我这里只是使用mysql对其测试了一下。

#创建表b
create table b(
id int primary key auto_increment,
xing char(10) not null default ‘’,
ming char(10) not null default ''
);
所有数据:
mysql> select * from b;  
+----+------+------+
| id | xing | ming |
+----+------+------+
|  1 | rain | man  |
|  2 | rain | man  |
|  3 | rain | an   |
|  4 | rain | an   |
|  5 | rain | sb   |
+----+------+------+
5 rows in set (0.00 sec)
通过两列column结合 distinct过滤出重复记录:
mysql> select distinct xing, ming from b;
+------+------+
| xing | ming |
+------+------+
| rain | man  |
| rain | an   |
| rain | sb   |
+------+------+
3 rows in set (0.01 sec)

distinct 过滤重复记录,上面的两条重读记录过滤成了一条

去重之后的数目:
mysql> select count(distinct ming) from b;
+----------------------+
| count(distinct ming) |
+----------------------+
|                    3 |
+----------------------+
1 row in set (0.00 sec)
mysql可以两个字段 一起 作为去重条件:
mysql> select count(distinct xing, ming) from b;
+----------------------------+
| count(distinct xing, ming) |
+----------------------------+
|                          3 |
+----------------------------+
使用子查询达到上面的效果:
mysql> select count(*) from (select distinct xing, ming from b) AS M;
+----------+
| count(*) |
+----------+
|        3 |
+----------+
1 row in set (0.01 sec)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 11,090评论 0 33
  • SQL与MySQL简介 数据库基础 从SQL的角度来看,数据库就是一个以某种有组织的方式存储的数据集合。我们可以采...
    heming阅读 8,655评论 1 8
  • 关系型数据库和SQL SQL语言的三个部分DML:Data Manipulation Language,数据操纵语...
    Awey阅读 5,963评论 0 13
  • SQL 语法大全 标签(空格分隔): SQL DB2 SQL语法大全 SQL SELECT SQL SELECT ...
    lumicinta阅读 14,515评论 3 196
  • 携程宕机事件,尽显众生相。 这次我们不谈技术,只谈人性。 造谣 先是一波波跳出来瞎基八扯蛋的谣言,什么数据库被“物...
    阿拉阿拉阅读 25,454评论 5 31