sql 查学生表中所有相同名字人的信息

本文来自:http://lxingyue1009.blog.163.com/blog/static/16189332320104695022118/

sql语句中怎样查学生表中所有有着相同的名字的人的信息

如果每个学生只有一条记录的话,按姓名分组,统计记录条数(大于1),再这些有相同姓名条数的人的姓名作为条件,检索出相应信息

语句如下:

select *

from 学生表

where 姓名 in

(selecct 姓名

from 学生表

group by 姓名

having count(*)>1 )

 

goup by ... having 用法

一.分组查询

1.使用group by进行分组查询

在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:

〉被分组的列

〉为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数

group by的使用在这只写几个例子吧:

例:

select courseID,avg(score) as 课程平均成绩

from score

group by courseID

例:

select studentID as 学员编号,courseID as 内部测试,avg(score) as 内部测试平均成绩

from score

group by studentID,courseID

2.使用having子句进行分组筛选

where子句只能对没有分组统计前的数据行进行筛选,对分组后的条件的筛选必须使用having子句

例:

select studentID as 学员编号,courseID as 内部测试,avg(score) as 内部测试平均成绩

from score

group by studentID,courseID

having count(score)>1

!在select语句中,where、group by、having子句和统计函数的执行次序如下:

where子句从数据源中去掉不符合去搜索条件的数据;group by子句搜集数据行到各个组中,统计函数为各个组计算统计值;having子句去掉不符合其组搜索条件的各组数据行

 

公司的使用

select CL_DISPLAYNAME from jf_org_user  where  CL_DISPLAYNAME in (select CL_DISPLAYNAME
from jf_org_user )
group by CL_DISPLAYNAME

having count(*)>1
 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值