新聞中心
mysql查詢語句我們都經(jīng)常在用,今天維護(hù)數(shù)據(jù)庫出現(xiàn)以下需求,mysql查詢語句查出user表中不重復(fù)的記錄,使用distinct但他只能對一個字段有效,我試了好多次不行,怎么辦呢?

10年的涉縣網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整涉縣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“涉縣網(wǎng)站設(shè)計”,“涉縣網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
原因就是 distinct它來返回不重復(fù)記錄的條數(shù),而不是用它來返回不重記錄的所有值。
也就是distinct只能返回它的目標(biāo)字段,而無法返回其它字段
例如:
- SELECT DISTINCT mac,ip from ip
- +------+------+
- | mac | ip |
- +------+------+
- | abc | 678 |
- | abc | 123 |
- | def | 456 |
- | abc | 12 |
- +------+------+
他還是不會有變換!因為上面的語句產(chǎn)生的作用就是作用了兩個字段,也就是必須得mac與ip都相同的才會被排除
***沒有辦法,使用group by 看看?。。?!
查看mysql 手冊!connt(distinct name) 可以配合group by 實現(xiàn)。
一個count函數(shù)實現(xiàn)我要的功能。
- select *,count(distinct mac) from ip group by mac;
- +------+------+---------------------+
- | mac | ip | count(distinct mac) |
- +------+------+---------------------+
- | abc | 678 | 1 |
- | def | 456 | 1 |
- +------+------+---------------------+
基本實現(xiàn)我的想法!
那如何實現(xiàn)一個表有兩個字段mac和ip,如何找出所有的mac相同而ip不同的記錄?
- mysql> select * from ip;
- +-----+-----+
- | mac | ip |
- +-----+-----+
- | abc | 123 |
- | def | 456 |
- | ghi | 245 |
- | abc | 678 |
- | def | 864 |
- | abc | 123 |
- | ghi | 245 |
- +-----+-----+
- 7 rows in set (0.00 sec)
- mysql> SELECT DISTINCT a.mac, a.ip
- -> FROM ip a, ip b
- -> WHERE a.mac = b.mac AND a.ip <> b.ip ORDER BY a.mac;
- +-----+-----+
- | mac | ip |
- +-----+-----+
- | abc | 678 |
- | abc | 123 |
- | def | 864 |
- | def | 456 |
- +-----+-----+
- 4 rows in set (0.00 sec)
【編輯推薦】
教您如何實現(xiàn)MySQL全文查詢
MySQL查詢分頁的優(yōu)化
MySQL查詢結(jié)果按某值排序
使用函數(shù)實現(xiàn)MySQL查詢行號
MySQL查詢中的非空問題
當(dāng)前文章:mysql查詢語句中distinct的問題
鏈接地址:http://m.fisionsoft.com.cn/article/codsgso.html


咨詢
建站咨詢
