常用函数
一、聚合函数
-
count(): 求满足条件的总的行数
-
sum(): 求满足条件的值得总和
-
avg(): 求满足条件的值得平均数
-
min()、max(): 求最大值和最小值
-
group by 分组: GROUP BY子句的真正作用在于与各种聚合函数配合使用。它用来对查询出来的数据进行分组。
分组的含义是:把该列具有相同值的多条记录当成一组记录处理,最后只输出一条记录。分组函数忽略空值。
example:
查询商品总价格大于3000的商品
SELECT product,SUM(price) FROM t_order GROUP BY product HAVING SUM(price)>100;注意:
(1)、分组函数的重要规则
如果使用了分组函数,或者使用GROUP BY 的查询:出现在SELECT列表 中的字段,要么出现在聚合函数里,要么出现在GROUP BY 子句中。
(上面的product出现在了group by中,price出现在了聚合函数中)
GROUP BY 子句的字段可以不出现在SELECT列表当中。(2)、having where 的区别
①、where和having都是用来做条件限定的,
②、WHERE是在分组(group by)前进行条件过滤,
③、HAVING子句是在分组(group by)后进行条件过滤,
④、WHERE子句中不能使用聚合函数,HAVING子句可以使用聚合函数。
⑤、HAVING子句用来对分组后的结果再进行条件过滤
having sum(price)>2000 相当于 拿着 列名为sum(price)去查询。
二、日期函数
select CURDATE() from dual;
select CURTIME() FROM DUAL;
SELECT NOW() FROM DUAL;
三、数值函数
SELECT ABS(-23) FROM DUAL;
SELECT CEIL(3.13) FROM DUAL;
SELECT FLOOR(4.87) FROM DUAL;
三、字符串函数
SELECT CONCAT('hello','world') FROM dual;
select INSERT('helloworld',2,3,'xxxxxx') from dual;
select LOWER('HELLO MYSQL') FROM dual
四、其他函数
select DATABASE() from dual;
select VERSION() from dual;
select USER() from dual;
select PASSWORD('admin') from dual;