糯米文學吧

位置:首頁 > 計算機 > 計算機應用

MySQL關鍵字Distinct的詳細介紹

MySQL是一個關係型數據庫管理系統,以下是小編跟大家介紹MySQL關鍵字Distinct的詳細介紹,歡迎大家閲讀!

MySQL關鍵字Distinct的詳細介紹

  MySQL關鍵字Distinct用法介紹

DDL

Prepare SQL:

create table test(id bigint not null primary key auto_increment,

name var10) not null,

phone var10) not null,

email var30) not null)engine=innodb;

Prepare Data:

into test(name, phone, email)values('alibaba','0517',&#');

into test(name, phone, email)values('alibaba','0517',&#');

into test(name, phone, email)values('baidu','010',&#');

into test(name, phone, email)values('tencent','0755',&#');

into test(name, phone, email)values('vipshop','020',&#');

into test(name, phone, email)values('ctrip','021',&#');

into test(name, phone, email)values('suning','025',&#');

查詢數據如下圖所示:

第一種情況,使用Distinct關鍵字,查詢單列數據,如下圖所示:

結果:對 name 字段進行去重處理,符合預期期望,確實篩選掉了重複的'字段值alibaba;

第二種情況,使用Distinct關鍵字(在前),查詢多列數據,如下圖所示:

結果:對 name 字段進行去重處理,結果不符合預期期望,沒有篩選掉重複的字段值alibaba;

第二種情況,使用Distinct關鍵字(在後),查詢多列數據,如下圖所示:

結果:對 name 字段進行去重處理,結果不符合預期期望,拋出SQL異常,錯誤碼:1064;

解決辦法:

不要用子查詢,用分組來解決: