(1)group by
今天遇到了一个使用group by的场景,sql语句如下
select to_char(pe.record_time, 'MM-DD') recordTime, round(avg(pe.num_value), 0) numValue ,pe.type FROM project_environment pe join project_info pi ON pi.id=pe.project_id WHERE pe.record_time >= '2021-05-19 18:48:04.496' and pe.record_time <='2021-06-19 18:48:04.496' and pi.id IN ( 1043 , 1042 , 1045 , 1051 , 1041 , 1000 , 1002 , 1003 , 1047 , 1050 , 1046 , 1044 , 1001 , 1040 ) GROUP BY to_char(pe.record_time,'MM-DD'),pe.type;
这个语句是正确的,再使用了聚合函数后,在select后面出现的字段,要么在group里面,要么在group by里面 聚合函数包括sum() max() min()avg() count()
注意一点:
给字段取别名的时候不能取跟原来字段一样的名字,不然也会报错