


access處理重復記錄的方法
添加時間:2013-3-5 17:25:47
添加:
思海網絡
在一個表中有重復的記錄,重復的次數可能是一條或多條,如何在重復記錄中只留下一條,刪除其他多余的記錄,使數據集的每條記錄都是唯一的?本文運用了一種比較笨拙不過邏輯比較清楚的方法,希望大家能提供更好的方法!
1列出表中的重復記錄
(sameoda)
SELECT [2].[地級市], Count(*) AS 記錄數FROM 2GROUP BY [2].[地級市]HAVING count(*)>1ORDER BY [地級市];
地級市記錄數100000951094210000095111621000009511272100000951138210000095114921000009511502
2以下是除去相同記錄的過程
1)列出表中的所有重復記錄
(表2中重復記錄)
SELECT 2.*FROM 2 RIGHT JOIN sameoda ON [2].[地級市]=[sameoda].[地級市];
ID編號地級市保險貨物名稱數量及包裝單位聲明價值(元)運輸自運輸到74691466100000951094苯扎貝特片、水飛薊賓膠囊3箱18600天津佳木斯53511077100000951094苯扎貝特片、水飛薊賓膠囊3箱18600天津佳木斯53501076100000951116水飛薊賓膠囊5箱29000天津烏魯木齊74681465100000951116水飛薊賓膠囊5箱29000天津烏魯木齊53531079100000951127氟他胺片4箱66800天津哈爾濱74711468100000951127氟他胺片4箱66800天津哈爾濱
2)從重復記錄中找到唯一的一條記錄
minbihanhao
SELECT 2.*FROM 2 LEFT JOIN 表2中重復記錄 ON [2].[ID]=[表2中重復記錄].[ID]WHERE [表2中重復記錄].[id] Is Null;
地級市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355
3)顯示唯一記錄的全部信息
allsame1
SELECT 2.*FROM 2 LEFT JOIN minbihanhao ON ([2].[地級市]=[minbihanhao].[地級市]) AND ([2].[id]=[minbihanhao].[id])WHERE [minbihanhao].[地級市] Is Not NullORDER BY [2].[id];
4)在原表中除去所有相同的記錄
dropsame2
SELECT 2.*FROM 2 LEFT JOIN 表2中重復記錄 ON [2].[ID]=[表2中重復記錄].[ID]WHERE [表2中重復記錄].[id] Is Null;
5)表2除去重復記錄=在原表中除去所有相同的記錄+顯示唯一記錄的全部信息
表2除去重復記錄
SELECT *FROM dropsame2 UNION select * from allsame1;
關鍵字:access、記錄、信息
1列出表中的重復記錄
(sameoda)
SELECT [2].[地級市], Count(*) AS 記錄數FROM 2GROUP BY [2].[地級市]HAVING count(*)>1ORDER BY [地級市];
地級市記錄數100000951094210000095111621000009511272100000951138210000095114921000009511502
2以下是除去相同記錄的過程
1)列出表中的所有重復記錄
(表2中重復記錄)
SELECT 2.*FROM 2 RIGHT JOIN sameoda ON [2].[地級市]=[sameoda].[地級市];
ID編號地級市保險貨物名稱數量及包裝單位聲明價值(元)運輸自運輸到74691466100000951094苯扎貝特片、水飛薊賓膠囊3箱18600天津佳木斯53511077100000951094苯扎貝特片、水飛薊賓膠囊3箱18600天津佳木斯53501076100000951116水飛薊賓膠囊5箱29000天津烏魯木齊74681465100000951116水飛薊賓膠囊5箱29000天津烏魯木齊53531079100000951127氟他胺片4箱66800天津哈爾濱74711468100000951127氟他胺片4箱66800天津哈爾濱
2)從重復記錄中找到唯一的一條記錄
minbihanhao
SELECT 2.*FROM 2 LEFT JOIN 表2中重復記錄 ON [2].[ID]=[表2中重復記錄].[ID]WHERE [表2中重復記錄].[id] Is Null;
地級市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355
3)顯示唯一記錄的全部信息
allsame1
SELECT 2.*FROM 2 LEFT JOIN minbihanhao ON ([2].[地級市]=[minbihanhao].[地級市]) AND ([2].[id]=[minbihanhao].[id])WHERE [minbihanhao].[地級市] Is Not NullORDER BY [2].[id];
4)在原表中除去所有相同的記錄
dropsame2
SELECT 2.*FROM 2 LEFT JOIN 表2中重復記錄 ON [2].[ID]=[表2中重復記錄].[ID]WHERE [表2中重復記錄].[id] Is Null;
5)表2除去重復記錄=在原表中除去所有相同的記錄+顯示唯一記錄的全部信息
表2除去重復記錄
SELECT *FROM dropsame2 UNION select * from allsame1;
關鍵字:access、記錄、信息
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解