当前位置: Oracle DBA培训网-优技培训 >> MySQL培训 > MySQL培训教程 >

MySQL认证考试:select查询不相同的数据

MySQL认证考试:select查询不相同的数据

MySQL认证考试:select查询不相同的数据,有时候你可能希望取出的数据互不重复,因为重复的数据可能对你没有意义。解决的办法是使用DISTINCT关键字,使用这个关键字保证结果集中不包括重复的记录,也就是说,你取出的记录中,没有重复的行。

例如,我们取出pet表中Benny所拥有的宠物的记录:

mysql> SELECT name,owner,species,sex FROM pet WHERE owner="Benny";

+------+-------+---------+------+

| name | owner | species | sex |

+------+-------+---------+------+

| Fang | Benny | dog | m |

| Slim | Benny | snake | m |

+------+-------+---------+------+

注意上面的结果,因为我们要使用它。

假定我们指定DISTINCT关键字,并返回列name,species,sex列:

mysql> SELECT DISTINCT name,species,sex FROM pet WHERE owner="Benny";

+------+---------+------+

| name | species | sex |

+------+---------+------+

| Fang | dog | m |

| Slim | snake | m |

+------+---------+------+

你可以看到有两条结果,这是因为返回的结果集中的行不同,如果我们做以下更改,只返回owner,sex列,你可以观察变化:

mysql> SELECT DISTINCT owner,sex FROM pet WHERE owner="Benny";

+-------+------+

| owner | sex |

+-------+------+

| Benny | m |

+-------+------+

DISTINCT关键字的存在,使查询只返回不同的记录行。

如果一个表中,有完全相同的行,你可以使用DISTINCT,以去除冗余的输出:

SELECT DISTINCT * FROM tbl_name

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙