这个就过滤出了,存在student记录数大于1的老师名与记录条数

SELECT `name`,COUNT(student) FROM teacher   GROUP BY `name` HAVING COUNT(student)>1

SELECT `name`,COUNT(student) FROM teacher   GROUP BY `name` HAVING COUNT(student)>2

select temp.nm,temp.st FROM (SELECT `name` as nm ,COUNT(`student`) as st FROM teacher GROUP BY `name`) as temp where temp.st>1;

3.这种是,查询出每个老师存在几条记录,最后结果有几条记录,相当于把学生记录数大于2的老师总数查询出来了。

select count(1) from (select count(`name`) from teacher group by `name` having count(*)>=2) as t ;

4.查询出每个老师对应的,所有学生总和

SELECT `name` ,sum(student) FROM teacher GROUP BY `name`

DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher` (
  `name` varchar(255) DEFAULT NULL,
  `class` int(10) DEFAULT NULL,
  `student` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of teacher
-- ----------------------------
INSERT INTO `teacher` VALUES ('zhangsan', '1', '2');
INSERT INTO `teacher` VALUES ('lisi', '1', '5');
INSERT INTO `teacher` VALUES ('lisi', '2', '3');
INSERT INTO `teacher` VALUES ('zhangsan', '8', '6');
INSERT INTO `teacher` VALUES ('zhangsab', '5', '1');
INSERT INTO `teacher` VALUES ('lisi', '6', '1');
这是teacher表结构,查询每个老师student这个字段存在数据库的记录数,过滤出大于2的记录1.这个就过滤出了,存在student记录数大于1的老师名与记录条数SELECT `name`,COUNT(student) FROM teacher   GROUP BY `name` HAVING COUNT(student)&amp;gt;1结果修改成2SELECT `name`,COUNT(stude... 1、 查询 “001”课程比“002”课程成绩高的所有 学生 的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、 查询 平均成绩 大于 60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、 查询 所有同学的学号、姓名、选课 、总成绩; select Student.S#,Student.Sname, count (SC.C#), sum (score) from Student left Outer join SC on Student.S#=SC.S# group by Student.S#,Sname 4、 查询 姓“李”的 老师 的个 ; select count (distinct(Tname)) from Teacher where Tname like '李%'; 5、 查询 没学过“叶平” 老师 课的同学的学号、姓名; select Student.S#,Student.Sname from Student where S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平'); 6、 查询 学过“001”并且也学过编号“002”课程的同学的学号、姓名; select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002'); 7、 查询 学过“叶平” 老师 所教的所有课的同学的学号、姓名; select S#,Sname from Student where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count (SC.C#)=(select count (C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平')); 8、 查询 课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名; Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2 from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2 60); 10、 查询 没有学全所有课的同学的学号、姓名; select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# group by Student.S#,Student.Sname having count (C#) <(select count (C#) from Course); 11、 查询
文章目录DQL(Data Query Language) 查询 语言My SQL 的标准 查询 语句结构where 查询 条件特殊的比较运算符模糊 查询 连接 查询 原理及掌握连接 查询 的使用 (多表连查)DQL标准语法结构 DQL(Data Query Language) 查询 语言 My SQL 的标准 查询 语句结构 SELECT [ALL|DISTINCT] {* | 表名.* | 表名.字段名.... [A...
SQL语句 查询 查询 成绩表中每一科最大成绩的 学生 信息 之前面试的时候遇到这样一个题目,要我写个 SQL 查询 语句 查询 出一个成绩表中每一个学科成绩最好的 学生 的信息,当时一时想不起来,回来之后各种百度,发现别人写的方法太复杂自己才疏学浅看不懂,没办法,求知欲又强,所以就自己创了一个成绩表,百度半天 SQL语句 查询 用法,一下一下的 查询 ,最后终于被我试了出来,话不多说开始我们的 查询 过程。 1. 刚开...
1.表t_act_records表,包含两个字段:uid(用户ID),imp_date(日期yyyy-mm-dd) 连续时间问题 1)计算2020年每个月,每个用户连续签到的最多天 2)计算2020年每个月,连续2天都有登陆的用户名单 3)计算2020年每个月,连续5天都有登陆的用户 1)计算2020年每个月,每个用户连续签到的最多天 with temp_1 as ( select distinct uid, imp_date from t_act_records where year(im
1. 确定需要 查询 的表和 据字段。 2. 写出WHERE语句,用于过滤 据。WHERE语句一般紧跟在SELECT语句后面,用于限制 查询 结果的行 或筛选满足某些条件的行 据。格式为:WHERE <condition>。其中,<condition>为条件表达式。 3. 在WHERE语句中用比较运算符“>”表示 大于 ,加上某个日期值作为比较对象。比如,若需要 查询 订单号 大于 2020年1月1日的所有订单,可写成:WHERE order_date > '2020-01-01' 4. 如果需要同时 查询 等于某日期的 据,可以使用比较运算符“>=”,如:WHERE order_date >= '2020-01-01' 5. 如果需要 查询 大于 或等于某日期,使用比较运算符“>=”,如:WHERE order_date >= '2020-01-01' 6. 查询 结果可能有多行,需要使用SELECT语句来选择需要输出的 据列,如:SELECT order_id, order_date, order_status FROM orders WHERE order_date > '2020-01-01' 总之, 查询 大于 某日期的 据需要用到 SQL 中的WHERE子句和比较运算符,通过语句中的条件表达式实现筛选和过滤。 Shiro错误之No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util Script kiddies: 没有,放弃了 map的put和putIfAbsent使用 canxiusi: 分组操作, 用 stream的 就行