2002070344 发表于 2009-2-8 16:48

如何查询出某字段相同的记录

例如:

字段名---->学号       姓名               年龄   专业
字段值---->1             甲                     20      电子
               2             乙                      18         计算机
               3             丙                      18         电子
               4             丁                     20         计算机
               5             甲(与人重名)23         中文
....................................................................
....................................................................
....................................................................
请问怎么列出计算机、电子是哪几个人?用group by吗
专业太多了?我想查询出来例如想重名的情况,人太多了,我不可能名字排序后一个个看的,有什么办法

轻水惜寒 发表于 2009-2-8 20:52

select姓名,专业 where 专业 in (电子,计算机) group by 姓名 order by 姓名 ASC

好长时间没看数据库知识了

2002070344 发表于 2009-2-9 21:54

可以这样:
select * from table
where 姓名 in (select姓名 from table group by 姓名 having count(姓名)>'1')
以姓名分组,然后count同一个姓名超过1的,即重名的情况
最后列举出这几个重名的人的情况

[ 本帖最后由 2002070344 于 2009-2-9 22:00 编辑 ]

2002070344 发表于 2009-2-9 22:42

不知怎么搞的,有时没重复的记录也被列出来了

2002070344 发表于 2009-2-9 22:52

是我自己搞错了,没问题

轻水惜寒 发表于 2009-2-10 11:25

学到知识了
页: [1]
查看完整版本: 如何查询出某字段相同的记录