sqlserver中distinct的用法(不重復(fù)的記錄)
table表
字段1 字段2
id name
1 a
2 b
3 c
4 c
5 b
庫(kù)結(jié)構(gòu)大概這樣,這只是一個(gè)簡(jiǎn)單的例子,實(shí)際情況會(huì)復(fù)雜得多。
比如我想用一條語(yǔ)句查詢(xún)得到name不重復(fù)的所有數(shù)據(jù),那就必須
使用distinct去掉多余的重復(fù)記錄。
select distinct name from table
得到的結(jié)果是:
----------
name
a
c
好像達(dá)到效果了,可是,我想要得到的是id值呢?改一下查詢(xún)語(yǔ)句吧:
select distinct name, id from table
結(jié)果會(huì)是:
----------
id name
1 a
2 b
3 c
4 c
5 b
distinct怎么沒(méi)起作用?作用是起了的,不過(guò)他同時(shí)作用了兩個(gè)
字段,也就是必須得id與name都相同的才會(huì)被排除
我們?cè)俑母牟樵?xún)語(yǔ)句:
select id, distinct name from table
很遺憾,除了錯(cuò)誤信息你什么也得不到,distinct必須放在開(kāi)頭。難到不能把distinct放到where條件里?能,照樣報(bào)錯(cuò)。
--------------------------------------------------------
下面方法可行:
select *, count(distinct name) from table group by name
結(jié)果:
id name count(distinct name)
1 a 1
2 b 1
3 c 1
最后一項(xiàng)是多余的,不用管就行了,目的達(dá)到
group by 必須放在 order by 和 limit之前,不然會(huì)報(bào)錯(cuò)
相關(guān)文章
SQL Server誤區(qū)30日談 第19天 Truncate表的操作不會(huì)被記錄到日志
這個(gè)誤區(qū)也同樣流傳已久,我想是時(shí)候通過(guò)一些Demo進(jìn)行揭穿了2013-01-01
SqlServer數(shù)據(jù)庫(kù)中文亂碼問(wèn)題解決方法
SQL版的亂碼問(wèn)題還是出現(xiàn)在SQL SERVER的安裝設(shè)置上。默認(rèn)安裝時(shí)系統(tǒng)默認(rèn)的排序規(guī)則是拉丁文的排序規(guī)則,但一般人在安裝時(shí)沒(méi)有考慮到這一點(diǎn),安裝時(shí)只是點(diǎn)取下一步,安裝完成后,造成了SQL版在使用過(guò)程中出現(xiàn)亂碼2020-03-03
查看本地sql server數(shù)據(jù)庫(kù)的ip地址的方法指南
程序連線(xiàn)SQL數(shù)據(jù)庫(kù),需要SQL Server實(shí)例的名稱(chēng)或網(wǎng)絡(luò)地址,故本文給大家介紹了查看本地sql server數(shù)據(jù)庫(kù)的ip地址的方法指南,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
T-SQL問(wèn)題解決集錦 數(shù)據(jù)加解密全集
對(duì)于一些敏感數(shù)據(jù),如密碼、卡號(hào),一般不能使用正常數(shù)值來(lái)存儲(chǔ)。否則會(huì)有安全隱患。以往的加密解密都有前端應(yīng)用程序來(lái)輔助完成。而數(shù)據(jù)庫(kù)一般只能加密不能解密2012-06-06
SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解
這篇文章主要介紹了SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
使用xp_cmdshell注銷(xiāo)Windows登錄用戶(hù)(終端服務(wù)器超出最大連接數(shù))
關(guān)于終端服務(wù)器超出最大連接數(shù)的解決方法有很多種,最簡(jiǎn)單的就是下載加強(qiáng)版本客戶(hù)端即可,下面的文章主要是介紹了sqlserver中通過(guò)xp_cmdshell用戶(hù)2012-12-12
SQL Server中利用正則表達(dá)式替換字符串的方法
這篇文章主要介紹了SQL Server中利用正則表達(dá)式替換字符串的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03

