MySQL认证培训:select取出互不相同的记录
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询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