发表于: 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


返回列表 返回列表
评论

    分享到