----1.分组函数--
select max(tfi.expected_scale) max1,min(tfi.expected_scale) min1,to_char(avg(tfi.expected_scale), '9,999,999,999,990.99999') avg1 ---小数点后几位from t_fund_info tfi--2.查询日期类型的数据select tt.last_modify_time, tt.*from t_fund_info ttwhere to_char(tt.last_modify_time, 'yyyy-mm-dd') >= '2016-03-01'select tt.last_modify_time, tt.*from t_fund_info ttwhere tt.last_modify_time >= to_date('2016-03-01', 'yyyy-mm-dd')----3.select 的执行顺序from -> where -> group by -> having -> select - order byselect max(tt.expected_scale) max1, tt.fund_codefrom t_fund_info ttwhere tt.last_modify_time >= to_date('2016-03-01', 'yyyy-mm-dd')group by tt.fund_codehaving avg(tt.expected_scale) > 1000order by avg(tt.expected_scale) desc;-----4.按入职年份和部门进行统计,查询出各部门各入职年份的最高工资和最低工资,多列统计select to_char(hiredate,'yyyy'),deptno,max(sal),min(sal) from emp group by to_char(hiredate,'yyyy'),deptno; ----分组查询时注意:1.带group by的分组查询,执行顺序是先分组group by 后查询 select,即,写在select 后面的列,必须是分组列,或 组函数2.where条件中不能直接使用组函数3.分组数据可以使用having字句进行过滤4.分组列可以不在select子句中显示,select 列中要显示的列,必须出现在group by 分组中(在select 子句中非组函数列,都必须添加到group by 中)5.having 是对group by分组后的数据进行过滤6.组查询语句可以使用在:select ,having ,order by 。不能直接使用在