sql拥有很多可用于计数和计算的内建函数
用在select里面、where中子查询的select里面、having子句里

  • 语法
    SELECT function(列) FROM 表

Aggregate(合计) 函数

面向一系列的值,并返回一个单一的值
SQL函数

AVG()

返回数值列的平均值,null不计入

  • 语法
    SELECT AVG(column_name) FROM table_name

COUNT()

返回指定条件的行数

  • 语法
    • 返回指定列的有值的行数,null不计入
      SELECT COUNT(column_name) FROM table_name
    • 返回表中的记录数
      SELECT COUNT(*) FROM table_name
    • 返回指定列的不同值得行数
      SELECT COUNT(DISTINCT column_name) FROM table_name

FIRST()

返回指定的字段第一个记录的值,可使用order by排序

  • 语法
    SELECT FIRST(column_name) FROM table_name

LAST()

返回指定字段的最后一个记录的值,可使用order by排序

  • 语法
    SELECT LAST(column_name) FROM table_name

MAX()

返回一列中的最大值,null不计入

  • 语法
    SELECT MAX(column_name) FROM table_name

MIN()

返回一列中的最小值,null不计入

  • 语法
    SELECT MAX(column_name) FROM table_name

SUM()

求行数返回值得总数

  • 语法
    SELECT SUM(column_name) FROM table_name

注意

求平均值、最大值、最小值、指定列有值得行数时,null不计入
求第一个值或最后一个值得时候,可以和order by一起使用
合计函数常常需要添加group by语句

Scalar 函数

面向单一值,返回单一值
SQL函数

UCASE()

把字段的值转换为大写

  • 语法
    SELECT ucase (column_name) FROM table_name

LCASE()

把字段的值转换为大写

  • 语法
    SELECT Lcase (column_name) FROM table_name

MID()

用于从文本字段中提取字符

  • 语法
    SELECT MID(column_name,start[,length]) FROM table_name
    SQL函数

LEN()

返回文本字段中值得长度

  • 语法
    SELECT len (column_name) FROM table_name

ROUND()

把数值字段舍入为指定的小数位

  • 语法
    SELECT ROUND(column_name,decimals) FROM table_name
    SQL函数

NOW()

返回当前的日期和时间

  • 语法
    SELECT now() FROM table_name
  • mysql内建日期函数
    • NOW():返回当前的日期和时间。
    • CURDATE():返回当前的日期。
    • CURTIME():返回当前的时间。
    • DATE():提取日期或日期/时间表达式的日期部分。
    • EXTRACT():返回日期/时间的单独部分。(extract—提取)
    • DATE_ADD():给日期添加指定的时间间隔。
    • DATE_SUB():给日期添加指定的时间间隔。(sub—代替)
    • DATEDIFF():返回两个日期之间的天数。(diff—差分)
    • DATE_FORMAT():用不同的格式显示日期/时间。(format—格式)
  • 时间戳
    • 定义:将时间转化为以毫秒为单位的十位的数字组成的字符串显示的形式。
    • 作用:方便存储、比较时间。
    • 格式转换
      FROM_UNIXTIME( unix_timestamp )
      FROM_UNIXTIME( unix_timestamp ,format )
      UNIX_TIMESTAMP()
      UNIX_TIMESTAMP( date )

SUBSTR

含义:字符串截取函数
格式是:SUBSTR(<字符表达式>、<数值表达式1>,<数值表达式2>)
 substr(字符串,截取开始位置,截取长度) //返回截取的字
函数功能:是从给定的字符表达式或备注字段中返回一个子字符串。

LEFT

含义:返回最左边指定的字符数
格式:left(<字符表达式>、<数值表达式> )
 left(tbc.create_time,6)
函数功能:是从给定的字符表达式或备注字段中返回一个子字符串。

FORMAT()

对字段的显示进行格式化

  • 语法
    SELECT FORMAT(column_name,format) FROM table_name
    SQL函数
    例如可将日期换成YYYY-MM-DD格式

GROUP BY

用于结合合计函数,根据一个或多个列对结果集进行分组

  • 语法
    SELECT 合计函数(使用函数的列) FROM 表 where 条件 group by 需要分组的列
    可以对多个列分组,中间用逗号分隔

HAVING子句

WHERE 关键字无法与合计函数一起使用,所以增加having子句

  • 语法
    SELECT 合计函数(使用函数的列) FROM 表 where 条件 group by 需要分组的列 having 合计函数(使用函数的列) 运算符 值

相关文章:

猜你喜欢
  • 2021-11-24
  • 2021-11-06
  • 2021-09-08
  • 2022-01-14
相关资源
相似解决方案