这个就过滤出了,存在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)>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: