mysql的DISTINCT怎么使用
mysql的distinct怎么使用
本文講解"mysql的distinct如何使用",希望能夠解決相關(guān)問(wèn)題。
mysql的distinct的關(guān)鍵字有很多你想不到的用處 ?1.在count?不重復(fù)的記錄的時(shí)候能用到 ?比如select?count(?distinct?id?)?from?tablename; ?就是計(jì)算talbebname表中id不同的記錄有多少條2,在需要返回記錄不同的id的具體值的時(shí)候可以用 ?比如select?distinct?id?from?tablename; ?返回talbebname表中不同的id的具體的值3.上面的情況2對(duì)于需要返回mysql表中2列以上的結(jié)果時(shí)會(huì)有歧義 ?比如select?distinct?id,?type?from?tablename; ?實(shí)際上返回的是?id與type同時(shí)不相同的結(jié)果,也就是distinct同時(shí)作用了兩個(gè)字段,必須得id與tyoe都相同的才被排除了,與我們期望的結(jié)果不一樣?//?但這里是我希望的4.這時(shí)候可以考慮使用group_concat函數(shù)來(lái)進(jìn)行排除,不過(guò)這個(gè)mysql函數(shù)是在mysql4.1以上才支持的 5.其實(shí)還有另外一種解決方式,就是使用 ?select?id,?type,?count(distinct?id)?from?tablename ?雖然這樣的返回結(jié)果多了一列無(wú)用的count數(shù)據(jù)(或許你就需要這個(gè)我說(shuō)的無(wú)用數(shù)據(jù)) ?返回的結(jié)果是?只有id不同的所有結(jié)果和上面的4類(lèi)型可以互補(bǔ)使用,就是看你需要什么樣的數(shù)據(jù)了id?name 1?a 2?b 3?c 4?c 5?b select?*,?count(distinct?name)?from?table?group?by?name id?name?count(distinct?name) 1?a?1 2?b?1 3?c?1
關(guān)于 "mysql的distinct如何使用" 就介紹到此。希望多多支持碩編程。