SQL單個或分組去重復查詢方法
以下是用來測試的數據:
表名:t_Demo
ID | Name | Project | Grade |
1 | 小明 | 數學 | 59 |
1 | 小明 | 語文 | 59 |
1 | 小明 | 英語 | 59 |
2 | 小紅 | 數學 | 100 |
2 | 小紅 | 語文 | 99 |
3 | 小白 | 數學 | 100 |
3 | 小白 | 語文 | 90 |
3 | 小白 | 英語 | 80 |
3 | 小白 | 政治 | 70 |
3 | 小白 | 歷史 | 60 |
4 | 小黑 | 數學 | 89 |
4 | 小黑 | 語文 | 89 |
4 | 小黑 | 英語 | 90 |
1.單個字段去重復查詢
我們現在想獲取以上表格中ID字段信息表,并且去掉重復的數值,也就是說我們現在想要獲取表中ID有多少。
select id from t_Demo group by id
查詢結果:
ID |
1 |
2 |
3 |
4 |
2.多字段去重復查詢
如果需要獲取ID和Name去掉重復值信息表,相當于得到現在這個表格中有多少人。
select id,Name from t_Demo group by id,Name
查詢結果:
ID | Name |
1 | 小明 |
2 | 小紅 |
3 | 小白 |
4 | 小黑 |
3.多字段去重復并且獲取重復的數目
現在我們需要獲取表中每個人所有成績數目
select ID,Name,count(distinct Project) as num from t_Demo group by ID,Name
查詢結果:
ID | Name | num |
1 | 小明 | 3 |
2 | 小紅 | 2 |
3 | 小白 | 5 |
4 | 小黑 | 3 |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。