学习了SQL的一些基础内容之后,今天开始学习SQL的函数,继续加油
SQL 拥有很多可用于计数和计算的内建函数:
- Aggregate 函数:计算从列中取得的值,返回一个单一的值
有用一些 Aggregate 函数:
-
AVG() - 返回平均值
select avg(menu_id) from hscon.uam_menus where menu_name like '%黑名单%'
-
COUNT() - 返回行数
select count(*) from hscon.sys_dict where dict_name like '%黑名单%'
-
FIRST() - 返回第一个记录的值
select * from hscon.uam_menus where ROWNUM <=1'
-
LAST() - 返回最后一个记录的值
select * from (select * from hsics.abcde1234 order by hsics.abcde1234.age DESC) where ROWNUM <=1'
-
MAX() - 返回最大值
select MAX(age) from hsics.abcde1234 order by hsics.abcde1234.age'
max能获取到单独的某一个属性的值,但是如果想要获取整个第一行的值的话就可以使用【FIRST() - 返回第一个记录的值】这里的方法了,最大值的话可以用LAST的方法,就看自己灵活变通了 -
MIN() - 返回最小值
select MIN(age) from hsics.abcde1234 order by hsics.abcde1234.age'
-
SUM() - 返回总和
select SUM(age) from hsics.abcde1234 order by hsics.abcde1234.age'
-
GROUP BY 用于结合聚合函数,根据一个或多个列对结果集进行分组
select hsics.abcde1234.name,sum(age) as totalAge from hsics.abcde1234 group by hsics.abcde1234.name'
HAVING 子句可以让我们筛选分组后的各组数据
GROUP BY 实现多表连接
select hsics.abcde1234.name,count(hsics.abcde.name) as nameShows from hsics.abcde left join hsics.abcde1234 on hsics.abcde1234.source_flag = hsics.abcde.source_flag group by hsics.abcde1234.name'
-
HAVING 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
select hsics.abcde1234.name,count(hsics.abcde.name) as nameShows from hsics.abcde left join hsics.abcde1234 on hsics.abcde1234.source_flag = hsics.abcde.source_flag group by hsics.abcde1234.name having count(hsics.abcde.name) > 0