`

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
 

分享到:
评论

相关推荐

    数据库SQL 子查询资料

    例如,如果你有一个学生表,你可以找出所有不在"小叶"班级的同学: ```sql SELECT name FROM students WHERE class_id NOT IN (SELECT class_id FROM students WHERE name = '小叶'); ``` 这个查询将返回...

    MYSQL题目练习

    --4.2、查询在sc表中不存在成绩的学生信息的SQL语句。 --5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩 --5.1、查询所有有成绩的SQL。 --5.2、查询所有(包括有成绩和无成绩)的SQL。 --6、查询...

    SQL查询习题.doc

    - **题目:** 查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序。 - **解析:** 通过多列排序实现更细致的数据排列。查询语句为`SELECT * ...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    如果要匹配姓张且名字只有两个字的人的记录,“张”字后面必须要有两个“_”符号。因为一个汉字是两个字符,而一个“_”符号只能代表一个字符。 (4)空值查询 IS NULL关键字可以用来判断字段的值是否为空值(NULL)...

    MYSQL单表及多表查询基础

    1. **学生表** `tb_student` (sid, sname, sage, sbirthday, ssex) - **sid**: 学号 - **sname**: 学生姓名 - **sage**: 学生年龄 - **sbirthday**: 出生年月 - **ssex**: 学生性别 2. **课程表** `tb_course`...

    数据库多表查询.docx

    2. **查询学生表中男女各有多少人**: 这个查询是统计`students`表中性别为'男'和'女'的学生数量。我们可以使用`COUNT()`函数配合`GROUP BY`子句来完成: ```sql select gender, COUNT(gender) as 人数 from ...

    经典sql练习题,用于平常联系及考试

    **解析**: 通过`Teacher`表中的教师名字筛选,再通过`Course`表连接到`Score`表,以获取由“张旭”教师授课的所有学生的成绩。 #### 24. 查询选修某课程的同学人数多于5人的教师姓名。 ```sql SELECT DISTINCT ...

    sql习题及标准答案.doc

    此题要求查询学生名字、课程号和成绩,需要从`Student`表和`Score`表中获取信息。 #### 15. 查询所有学生的Sno、Cname和Degree列。 - **SQL语句**: ```sql SELECT Student.Sno, Course.Cname, Score.Degree FROM...

    常用的sql语句100例

    - 此处的通配符`%`表示匹配所有教师的名字,因此该查询实际上统计了所有老师的数量,而非题目描述中的“教授课程最多的老师人数”。 #### 示例5:查询未上过“叶平”老师课程的学生 ```sql select Student.S#, ...

    sql语句的练习题

    - **获取完整信息:** 本例中通过连接两个表来获取学生及其所选课程的全部信息。 #### 12. 查询选择了课程号为2且成绩大于80分的学生信息 ```sql SELECT * FROM sc, c WHERE sc.cno = c.cno AND grade > 80 AND ...

    asp精妙的SQL语句例子

    这条SQL语句从`student_info`表中选择符合特定部门和专业的学生信息,同时排除已经在`student`表中存在的ID。`NOT EXISTS`子句用于过滤掉已存在的ID,以确保结果集中只包含未注册的学生信息。 **应用场景**: - ...

    经典sql,常用的sql,学习必会的sql

    根据提供的标题、描述以及部分SQL查询内容,我们可以总结出一系列重要的SQL知识点,这些知识点对于学习SQL的人来说至关重要。接下来,我们将详细解析每一项SQL查询所涉及的技术要点。 ### 1. 比较两个课程的成绩 *...

    数据库精选习题及答案

    这个查询涉及到对`student`表中的筛选操作,使用`LIKE`关键字匹配以“王”开头的名字,并结合`ssex`字段过滤出性别为“男”的学生。SQL语句如下: ```sql SELECT COUNT(sname) AS scount FROM student WHERE sname...

    leetcode580. 统计各专业学生人数(SQL)

    在这个LeetCode问题580中,我们被要求统计大学中每个专业的学生人数,并在SQL查询中展示结果。问题的关键在于联合使用`student`和`department`两个数据表,以获取每个专业的学生数量,同时处理没有学生的专业情况。...

    SQL常见笔试试题

    根据给定文件的信息,我们可以将这些SQL笔试题目逐一解析,并且从中...每一道题目都涉及到了SQL语言的不同方面,涵盖了子查询、表连接、聚合函数、分组查询等多个知识点,对于准备SQL面试的人来说是非常好的练习材料。

    SQL sever 实训

    查询course表的所有信息(所有行所有列) USE Xk GO SELECT * FROM Course --有哪些种类的选修课?学分是多少 USE XK GO SELECT Kind,Credit FROM Crouse GO 修改列名字 SELECT '课程种类'=Kind,'学分'=Credit ...

    面试中常见的数据库问题.pdf

    使用左连接将学生表与成绩表合并,通过`GROUP BY`计算每个学生的选课数量和总成绩。 4. **查询姓“李”的老师的个数**: 使用`LIKE`操作符匹配以“李”开头的教师名字,`COUNT(DISTINCT Tname)`统计不同教师的...

Global site tag (gtag.js) - Google Analytics