MySQL認(rèn)證培訓(xùn):select取出互不相同的記錄
最新學(xué)訊:近期OCP認(rèn)證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯(lián)系在線老師,甲骨文官方認(rèn)證,報名從速!
我要咨詢MySQL認(rèn)證培訓(xùn):select取出互不相同的記錄,有時候你可能希望取出的數(shù)據(jù)互不重復(fù),因為重復(fù)的數(shù)據(jù)可能對你沒有意義。解決的辦法是使用DISTINCT關(guān)鍵字,使用這個關(guān)鍵字保證結(jié)果集中不包括重復(fù)的記錄,也就是說,你取出的記錄中,沒有重復(fù)的行。
例如,我們?nèi)〕鰌et表中Benny所擁有的寵物的記錄:
mysql> SELECT name,owner,species,sex FROM pet WHERE owner="Benny";
+------+-------+---------+------+
| name | owner | species | sex |
+------+-------+---------+------+
| Fang | Benny | dog | m |
| Slim | Benny | snake | m |
+------+-------+---------+------+
注意上面的結(jié)果,因為我們要使用它。
假定我們指定DISTINCT關(guān)鍵字,并返回列name,species,sex列:
mysql> SELECT DISTINCT name,species,sex FROM pet WHERE owner="Benny";
+------+---------+------+
| name | species | sex |
+------+---------+------+
| Fang | dog | m |
| Slim | snake | m |
+------+---------+------+
你可以看到有兩條結(jié)果,這是因為返回的結(jié)果集中的行不同,如果我們做以下更改,只返回owner,sex列,你可以觀察變化:
mysql> SELECT DISTINCT owner,sex FROM pet WHERE owner="Benny";
+-------+------+
| owner | sex |
+-------+------+
| Benny | m |
+-------+------+
DISTINCT關(guān)鍵字的存在,使查詢只返回不同的記錄行。
如果一個表中,有完全相同的行,你可以使用DISTINCT,以去除冗余的輸出:
SELECT DISTINCT * FROM tbl_name
- 冉乃綱-老師CUUG金牌講師
- 冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細(xì)了解老師]

- 陳衛(wèi)星-老師CUUG金牌講師
- 陳老師 CUUG金牌講師 精通Oracle管理、備份恢復(fù)、性能優(yōu)化 11年Ora...[詳細(xì)了解老師]
