话不多说直接上代码
select deptart,sum(salary) from user group by deptart
sum():将选中的列相加
avg():求平均值
max():求最大值
min():最小值
count():求数据个数
group by:分组
其中有几点容易犯的错误
1:在查询中出现的字段(不包括聚合函数)一定要出现在group by后面不然会出现
ORA-00979: not a GROUP BY expression 错误也就是非group by表达式错误
2:group by后面不能使用where 只能使用having 而mybatis中没有这个标签
我们可以使用if标签来判断是否有判断条件然后再if中直接写出having
<if test="orgId!= null and orgId!= ''">
HAVING org_id= #{orgId}
</if>
值得注意的是在having后出现的字段也必须出现在group by的后面
3:
ORA-00936: missing expression
这个错误是由于多加了一个逗号或少加了一个逗号引起的,写好sql之后可以在数据库中先试一遍再放到项目里这样就会少很多问题了