MySQL Distinct 去掉查询结果重复记录

<h2 >DISTINCT</h2><p >使用 DISTINCT 关键字可以去掉查询中某个字段的重复记录。</p><p >语法:</p><pre >SELECTDISTINCT(column)FROMtb_name</pre><p >例子:</p><p >假定 user 表有如下记录:</p><table class="table" width="110"><tbody ><tr class="firstRow"><th width="30" >uid</th><th >username</th></tr><tr ><td >1</td><td >小李</td></tr><tr ><td >2</td><td >小张</td></tr><tr ><td >3</td><td >小李</td></tr><tr ><td >4</td><td >小王</td></tr><tr ><td >5</td><td >小李</td></tr><tr ><td >6</td><td >小张</td></tr></tbody></table><p >SQL 语句:</p><pre >SELECTDISTINCT(username)FROMuser</pre><p >返回查询结果如下:</p><table class="table" width="80"><tbody ><tr class="firstRow"><th >username</th></tr><tr ><td >小李</td></tr><tr ><td >小张</td></tr><tr ><td >小王</td></tr></tbody></table><h3 >提示</h3><p >使用 DISTINCT 关键字去掉重复记录具有较大的局限性。DISTINCT() 只能包含一个字段且查询结果也只返回该字段而非数据完整记录(如上例所示)。</p><p >可以尝试使用如下语法:</p><pre >SELECTDISTINCT(column),column1,column2,...FROMtb_name</pre><p >该查询结果将返回列出的所有字段,但该查询往往使 column 的唯一性失效,且 column 1,column 2,… 不能放在 DISTINCT(column) 之前。</p><p >上面的例子如果要返回如下结果(这往往是期望中的):</p><table class="table" width="110"><tbody ><tr class="firstRow"><th width="30" >uid</th><th >username</th></tr><tr ><td >1</td><td >小李</td></tr><tr ><td >2</td><td >小张</td></tr><tr ><td >3</td><td >小王</td></tr></tbody></table><p >这时候就要用到GROUP BY关键字。</p>
RangeTime:0.020297s
RangeMem:205.31 KB
返回顶部 留言