【一文看懂SQL系列】您会用到的常见函数,分组查询都在这里了

21小时学数据库 数据库知识汇总

一、常见函数
  1. 单行函数
    字符函数,数学函数,日期函数,控制函数
    CONCAT, LENGTH, IFNULL

  2. 分组函数
    SUM, AVG, MAX, MIN, COUNT
    COUNT(*) 统计行数

单行函数
字符函数
  1. LENGTH 获取字符串的字节长度
  2. CONCAT 拼接字符串
  3. UPPER, LOWER
  4. SUBSTR(字符串, 开始,长度) 索引从1开始
  5. INSTR 返回子串第一次出现的索引,找不到返回0
  6. TRIM(字符串1 from 字符串2)
    删除字符串2左右两边的字符串1
  7. LPAD 用指定的字符串实现左填充指定字符
  8. RPAD
  9. REPLACE(字符串, 字符串1,字符串2) 替换
数字函数
  1. ROUND 四舍五入
  2. CEIL 向上取整
  3. FLOOR 向下取整
  4. TRUNCATE 截断
  5. MOD 取余
日期函数
  1. NOW() 返回当前系统日期+时间

  2. CURDATE() 返回当前系统日期,不包含时间

  3. CURTIME() 返回当前时间,不包含日期

  4. 可以获取当前的年、月、日、小时、分钟、秒 MONTH(NOW())

  5. STR_TO_DATE(’9-13-2019‘,’%m-%d-%y‘)将日期格式的字符按转换为指定格式的日期

  6. DATE_FORMAT(’2018/06/07‘,’%Y年%m月%d日‘):将日期转换为字符

流程控制函数
  1. if语句:
    IF(条件判断,为真则,为假则)
  2. case语句:
    类似于switch
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1when 常量2 then 要显示的值2或语句2;
...
else 要显示的值n或语句n;
end

类似于多重if

case 
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
...
else 要显示的值n或语句n
end
分组函数
 SUM, AVG, MAX, MIN, COUNT

特点:

  1. SUM, AVG 只能处理数值型MAX, MIN,COUNT可以处理任何类型
  2. 以上分组函数都可以忽略NULL值
  3. 可以和DISTINCT搭配实现去重
  4. COUNT(*) 统计行数,COUNT(1)也可以统计行数
    MYISAM 存储引擎下,COUNT(*)效率高
    INNODB 存储引擎下,COUNT(*)COUNT(1)效率差不多,比COUNT(字段)效率高
二、分组查询

语法: SELECT 字段名 FROM 表名 【WHERE 筛选条件】GROUP BY 分组列表 【HAVING 筛选条件】ORDER BY 子句

注意: 查询列表必须特殊,要求是分组函数和 GROUP BY 后出现的字段; GROUP BY支持单个字段或多个字段

  1. 分组前筛选 WHERE

  2. 分组后筛选 HAVING

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值