新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SQL单个或分组去重复查询方法
成都创新互联主要从事网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务当阳,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
以下是用来测试的数据:
表名: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 |