您好,登錄后才能下訂單哦!
本篇內容主要講解“mysql查詢語句中distinct有哪些問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysql查詢語句中distinct有哪些問題”吧!
mysql查詢語句中distinct有哪些問題
原因就是distinct它來返回不重復記錄的條數,而不是用它來返回不重記錄的所有值。
也就是distinct只能返回它的目標字段,而無法返回其它字段
例如:
SELECTDISTINCTmac,ipfromip+------+------+|mac|ip|+------+------+|abc|678||abc|123||def|456||abc|12|+------+------+
他還是不會有變換!因為上面的語句產生的作用就是作用了兩個字段,也就是必須得mac與ip都相同的才會被排除
最后沒有辦法,使用groupby看看!!!!
查看mysql手冊!connt(distinctname)可以配合groupby實現。
一個count函數實現我要的功能。
select*,count(distinctmac)fromipgroupbymac;+------+------+---------------------+|mac|ip|count(distinctmac)|+------+------+---------------------+|abc|678|1||def|456|1|+------+------+---------------------+
基本實現我的想法!
那如何實現一個表有兩個字段mac和ip,如何找出所有的mac相同而ip不同的記錄?
mysql>select*fromip;+-----+-----+|mac|ip|+-----+-----+|abc|123||def|456||ghi|245||abc|678||def|864||abc|123||ghi|245|+-----+-----+7rowsinset(0.00sec)mysql>SELECTDISTINCTa.mac,a.ip->FROMipa,ipb->WHEREa.mac=b.macANDa.ip<>b.ipORDERBYa.mac;+-----+-----+|mac|ip|+-----+-----+|abc|678||abc|123||def|864||def|456|+-----+-----+4rowsinset(0.00sec)
mysql查詢大小寫有哪些問題
mysql查詢默認是不區分大小寫的如:
selectfromtable_namewherealike'a'selectfromtable_namewherealike'a'selectfromtable_namewherealike'a'selectfromtable_namewherealike'a'
效果是一樣的。
要讓mysql查詢區分大小寫,可以:
selectfromtable_namewherebinaryalike'a'selectfromtable_namewherebinaryalike'a'selectfromtable_namewherebinaryalike'a'selectfromtable_namewherebinaryalike'a'
也可以在建表時,加以標識
createtabletable_name(avarchar(20)binary)
到此,相信大家對“mysql查詢語句中distinct有哪些問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。