发表于: 2018-04-20 23:20:08
2 481
今天完成的事情:
1.根据昨天的想法敲出SQL语句,给上流程图(有点粗糙哈~~)
给出SQL语句:
select fullname ,0 as 互动次数 ,count(senddate) as 布置作业次数 from t_teachers
left join t_homeworks
on t_teachers.__schoolcode = t_homeworks.__schoolcode
AND t_teachers.id = t_homeworks.teacher_id
AND t_homeworks.senddate>'2015-04-20'
group by fullname
UNION
select fullname , count(senddate) as 互动次数 , 0 as 布置作业次数 from t_teachers
left join t_interactions
on t_teachers.__schoolcode = t_interactions.__schoolcode
AND t_teachers.id = t_interactions.teacher_id
AND t_interactions.senddate>'2015-04-20'
group by fullname
order by fullname
再给出输出结果:
看得出来明显不能完美合并。有没有办法?有!
我的想法是用distinct去除重复项,但是尝试的结果是还是有重复内容。所以也是有问题的。
思考原因应该是因为,的确distinct是去除重复项,但是
fullname | 互动次数 | 布置作业次数
3333 0 22
3333 14 0
这两项的确fullname重复了,但是互动次数和布置作业次数是不同,所以系统认为这两行也是不同的,不会被distinct并掉。
厚脸皮继续去问大神。。。。
大神给出建议,把上面查出来的这个表作为子表,再用sum()函数把重复项加起来。(我怎么没想到)
不废话,直接给出最终版SQL语句:
select a.fullname , sum(a.互动次数) as 互动次数 , sum(a.布置作业次数) as 布置作业次数 from
(select fullname ,0 as 互动次数 ,count(senddate) as 布置作业次数 from t_teachers
left join t_homeworks
on t_teachers.__schoolcode = t_homeworks.__schoolcode
AND t_teachers.id = t_homeworks.teacher_id
AND t_homeworks.senddate>'2015-04-20'
group by fullname
UNION
select fullname , count(senddate) as 互动次数 , 0 as 布置作业次数 from t_teachers
left join t_interactions
on t_teachers.__schoolcode = t_interactions.__schoolcode
AND t_teachers.id = t_interactions.teacher_id
AND t_interactions.senddate>'2015-04-20'
group by fullname) as a
group by fullname
order by fullname
输出结果:
果然被加到一起了。
2.认真看完了Accessing Data with JPA
学到了可以在IDEA的Terminal用命令gradlew bootRun ->运行程序
gradlew build ->打成jar包
java -jar build/libs/XXX.jar ->运行jar包(就等于gradlew bootRun,就等于那个绿色的小箭头)
对于Maven的:
mvnw spring-boot:run -> 运行程序
mvnw clean package ->创建一个可运行的JAR(打包)
java -jar target/XXX.jar ->运行jar包
要注意的是,这个Demo是使用内存中的嵌入式数据库,所以无需编写具体的存储库实现。实际只能作为一个入门的Demo学习。
3.学习Accessing data with MySQL(JPA)
下载依赖的我等到天荒地老。。。。。
明天的计划:
①接着学习Accessing data with MySQL(JPA)
②继续任务1-17Mybatis连接数据库(有时间看的说)
遇到的问题:
电脑有点跟不上了,卡的不行,开个机都要等很久,有没有内部推荐笔记本?
收获:
①学到了一手union的用法。
②看完了Accessing Data with JPA
评论