日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

access重复数据累计_Access 查询同一张表中两个或以上字段含有重复项的记录

發(fā)布時(shí)間:2024/4/19 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 access重复数据累计_Access 查询同一张表中两个或以上字段含有重复项的记录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這篇文章是對(duì)我自己另一篇文章的補(bǔ)充。(

Access 查詢同一張表中某個(gè)字段含有重復(fù)項(xiàng)的記錄)

記錄的動(dòng)力總是來(lái)自于工作中遇到的問(wèn)題。上次只要根據(jù)某個(gè)字段把有重復(fù)項(xiàng)的記錄列出來(lái),這次條件增多了,要根據(jù)兩個(gè)或兩個(gè)以上字段來(lái)判斷,當(dāng)這些字段的值全部相同時(shí),才認(rèn)為出現(xiàn)了重復(fù)記錄。

還是以上次的數(shù)據(jù)為例吧,略有修改。表名 Student

ID

Name

City

Address

1

徐俊

北京

北京市東四北大街520號(hào)

2

王洪濤

北京

北京市西單北大街151號(hào)

3

張立濤

大連

大連市西崗區(qū)新開(kāi)路69號(hào)

4

佘高峰

濟(jì)南

山東省濟(jì)南市濼文路50號(hào)

5

徐俊

上海

上海市靜安區(qū)南陽(yáng)路46號(hào)

6

張忠飛

上海

上海市肇嘉浜路414號(hào)

7

徐俊

上海

上海市乳山路150號(hào)

從城市角度看,一個(gè)城市有很多學(xué)員很正常;中國(guó)人重名的多,單看名字很難說(shuō)是不是同一個(gè)人。這次我們的查詢要結(jié)合“City”和“Name”兩個(gè)字段,只有這兩個(gè)字段的值都相等,我們才進(jìn)一步檢查是不是同一個(gè)人。

先用Access 2003 提供的“查找重復(fù)項(xiàng)查詢向?qū)А鄙梢粋€(gè)查詢看看:

SELECT student.Name, student.City, student.Address

FROM student

WHERE ((student.Name) In (SELECT [Name] FROM [student] As Tmp GROUP BY [Name], [City] HAVING Count(*)>1? And [City] = [student].[city]))

ORDER BY student.Name, student.City

結(jié)果是:

Name

City

Address

徐俊

上海

上海市乳山路150號(hào)

徐俊

上海

上海市靜安區(qū)南陽(yáng)路46號(hào)

注意:徐俊 北京 沒(méi)有列出來(lái),符合我們的預(yù)期,因?yàn)槲覀冞@次是兩個(gè)標(biāo)準(zhǔn)。

不過(guò)我覺(jué)得Access 的向?qū)傻恼Z(yǔ)句有點(diǎn)搞,看上去不是那么一目了然。

這條SQL語(yǔ)句依然用了子查詢“select name from student group by name, city ?having count(*)>1”。這個(gè)子查詢的意思是:把student表里的記錄同時(shí)按名字和城市組合在一起,并把組合后數(shù)量大于1的記錄返回。就這個(gè)例子而言,這條子查詢的返回值是“徐俊/上海”。

但是跟單個(gè)字段查找重復(fù)值不一樣的地方是,這次多了個(gè)“And [City] = [student].[city]”,我們這次的子查詢的全部?jī)?nèi)容是:

select name from student as Tmp group by name, city ?having count(*)>1 And [City] = [student].[city]

這個(gè)子查詢有外部條件,這就讓事情有點(diǎn)復(fù)雜了。在子查詢里使用外部條件,需要對(duì)SQL 語(yǔ)句使用的相當(dāng)熟練和有技巧。

我換了種SQL的寫法來(lái)達(dá)到同樣效果,自己覺(jué)得看上去清晰點(diǎn)。

SELECT student.Name, student.City, student.AddressFROM student? inner join(SELECT Name, city ?FROM student? GROUP BY Name, City ?HAVING Count(*)>1? ) As TmpON? student.Name=Tmp.Name? AND student.city = Tmp.cityORDER BY student.Name, student.City

總結(jié)

以上是生活随笔為你收集整理的access重复数据累计_Access 查询同一张表中两个或以上字段含有重复项的记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。