记录一下JPQL查询语句中的一个小错误

select sum(s.score) from student as s where  s.uniqueId = 66;

select s.uniqueId sum(s.score) from student as s where  s.uniqueId = 66;

我的本意是使得,查询的结果是查出三列,第一列是id,第二列是该id的所有科目的总成绩

但第二句不对,因为s.uniqusId与sum不匹配,甚至如果用sum(s.uniqusId),写成

select sum(s.uniqueId) sum(s.score) from student as s where  s.uniqueId = 66;

都没有问题,就好比每个班有很多学生,现在去统计每个学生的考试总分,你要么针对一个学生,然后统计他的信息,但你不能把该学生的学号放进去查询,同时又查询他的总分,倘若你把该学生的学号放进去了,那么只能证明你要查很多的学生,那么后面就不能是一个学生了,你可以放入很多的学生。可以如下面这样写,

select s.uniqueId sum(s.score) from student as s where  s.uniqueId in (55,65);

posted @ 2012-07-05 17:39  斯皮尔伯伯  阅读(512)  评论(0编辑  收藏  举报