六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

mysql去重的2種方法案例詳細說明

[摘要]這篇文章主要介紹了mysql去重的兩種方法詳解及實例代碼的相關資料,這里對去重的兩種方法進行了一一實例詳解,需要的朋友可以參考下mysql去重方法一: 在使用MySQL時,有時需要查詢出某個字段不重復的記錄,雖然mysql提供 有distinct這個關鍵字來過濾掉多余的重復記錄只保留一條,...
這篇文章主要介紹了mysql去重的兩種方法詳解及實例代碼的相關資料,這里對去重的兩種方法進行了一一實例詳解,需要的朋友可以參考下

mysql去重

方法一:

使用MySQL時,有時需要查詢出某個字段不重復的記錄,雖然mysql提供 有distinct這個關鍵字來過濾掉多余的重復記錄只保留一條,但往往只用它來返回不重復記錄的條數,而不是用它來返回不重記錄的所有值。其原因是 distinct只能返回它的目標字段,而無法返回其它字段

下面先來看看例子:

   table
  id name
  1 a
  2 b
  3 c
  4 c
  5 b

庫結構大概這樣,這只是一個簡單的例子,實際情況會復雜得多。

比如我想用一條語句查詢得到name不重復的所有數據,那就必須使用distinct去掉多余的重復記錄。

select distinct name from table

得到的結果是:

 name
  a
  b
  c

好像達到效果了,可是,我想要得到的是id值呢?改一下查詢語句吧:

select distinct name, id from table

結果會是:

 id name
  1 a
  2 b
  3 c
  4 c
  5 b

distinct怎么沒起作用?作用是起了的,不過他同時作用了兩個字段,也就是必須得id與name都相同的才會被除。。。。。。。

我們再改改查詢語句:

select id, distinct name from table

很遺憾,除了錯誤信息你什么也得不到,distinct必須放在開頭。難到不能把distinct放到where條件里?能報錯。。。。。。。

最終好用的語句如下:

select *, count(distinct name) from table group by name

結果:

  id name count(distinct name)
  1 a 1
  2 b 1
  3 c 1

最后一項是多余的,不用管就行了,目的達到。。。。。

哦,對,再順便說一句,group by 必須放在 order by 和 limit之前,不然會報錯。。。。。。。。!OK了

總結語句:select *, count(distinct name) from (select * from table……等嵌套語句) group by name

方法二:

利用group by

SELECT * FROM( 
select * from customer where user=( 
  SELECT source_user from customer WHERE user='admin') UNION ALL select * from customer where user=( 
  select source_user from customer where user=( 
    SELECT source_user from customer WHERE user='admin')) union ALL select * from customer where user=( 
  select source_user from customer where user=( 
    select source_user from customer where user=( 
      SELECT source_user from customer WHERE user='admin'))) UNION ALL select * from customer where source_user=(/*我的上線的上線的user*/ 
  select user from customer where user=( 
    select source_user from customer where user=( 
      SELECT source_user from customer WHERE user='admin'))) union all select * from customer where source_user=(/*我的上線的上線的上線user*/ 
  select user from customer where user=( 
  select source_user from customer where user=( 
    select source_user from customer where user=( 
      SELECT source_user from customer WHERE user='admin'))))) as alias group by user;

注意加別名,不然報錯,注意在where語句外面包裝一下,再用group by去重才會生效。

以上就是mysql去重的兩種方法實例詳解的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 日本不卡免费高清视频 | 亚州综合网| 青青青久在线视频免费观看 | 手机在线成人精品视频网 | 日韩精品欧美亚洲高清有无 | 一区小说二区另类小说三区图 | 四虎影视在线影院在线观看 | 日韩成人在线观看 | 五月婷婷色综合 | 青草免费免费观看视频在线 | 网址大全在线免费观看 | 亚洲a网| 网友自拍第一页 | 日本成人高清视频 | 宅男午夜视频在线观看 | 亚洲男人的天堂网 | 天天综合网在线 | 日韩不卡在线视频 | 欧美亚洲免费 | 亚州免费| 三级中文| 日本卡一卡2卡3卡4精品卡网站 | 性欧美大战久久久久久久野外 | 日韩欧美成人乱码一在线 | 色噜噜狠狠色综合中国 | 青青青国产精品国产精品美女 | 亚洲成a人v欧美综合天堂软件 | 伊人网址 | 日本在线视频网址 | 日本网络视频www色高清免费 | 一区二区精品久久 | 小黄鸭b站视频在线 | 亚洲天堂资源网 | 亚洲国产天堂在线观看 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片看看 | 亚洲一级片免费 | 青青草99热这里都是精品 | 日本福利视频 | 色护士在线 | 青青青国产精品手机在线观看 | 日韩精品无码一区二区三区 |