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