博客
关于我
SQL(内建函数,HAVING 子句,EXISTS 运算符)笔记
阅读量:397 次
发布时间:2019-03-05

本文共 1502 字,大约阅读时间需要 5 分钟。

SQL 中常用计数和计算函数

SQL 提供了多种内建函数,能够帮助用户对数据库中的数据进行计数、计算以及其他特定操作。以下是一些常用的函数和语法示例:

AVG() - 返回指定列的平均值

该函数用于计算指定列的平均值,适用于需要统计数据分布的场景。

SELECT AVG(列名) FROM 表名;

COUNT() - 返回匹配条件的记录数

COUNT() 函数用于统计指定表中满足特定条件的记录数。

SELECT COUNT(*) FROM 表名 WHERE 条件;

COUNT(DISTINCT column_name) - 返回指定列的唯一值数目

该函数用于统计指定列中唯一值的数量,避免重复计算。

SELECT COUNT(DISTINCT 列名) FROM 表名;

FIRST() 和 LAST() - 获取指定列的第一或最后记录

FIRST() 和 LAST() 函数用于获取指定列中的第一或最后记录的值。

SELECT 列名 FROM 表名 ORDER BY 列名 LIMIT 1;

SELECT 列名 FROM 表名 ORDER BY 列名 DESC LIMIT 1;

MAX() 和 MIN() - 返回最大或最小值

MAX() 和 MIN() 函数用于获取指定列中的最大或最小值。

SELECT MAX(列名) FROM 表名;

SELECT MIN(列名) FROM 表名;

SUM() - 返回指定列的总和

SUM() 函数用于计算指定列中数值的总和。

SELECT SUM(列名) FROM 表名;

GROUP BY - 根据指定列进行分组

GROUP BY 语句用于根据指定列对结果集进行分组,通常与聚合函数一起使用。

SELECT 列名, 函数名(列名) FROM 表名 GROUP BY 列名 HAVING 条件;

HAVING 子句 - 进行分组后的筛选

HAVING 子句用于对分组后的结果进行进一步的筛选,解决了 WHERE 子句与聚合函数无法共存的问题。

SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name HAVING aggregate_function(column_name) operator value;

EXISTS 运算符 - 判断记录存在性

EXISTS 运算符用于检查是否存在满足条件的记录,返回布尔值。

SELECT column_name FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition);

MID()、LEN()、ROUND()、NOW() 和 FORMAT() - 文本和日期时间处理

MID() 和 LEN() 用于处理文本字段,提取子字符串或获取字段长度。

SELECT MID(字段, 开始位置, 长度) FROM 表名;

SELECT LEN(字段) FROM 表名;

ROUND() 用于对数值进行四舍五入处理。

SELECT ROUND(数值, 小数位数) FROM 表名;

NOW() 返回当前系统的日期和时间。

SELECT NOW() FROM 表名;

FORMAT() 用于格式化日期和时间显示。

SELECT FORMAT(NOW(), 'YYYY-MM-DD HH:mm:ss') FROM 表名;

这些函数和语法为用户提供了强大的工具,能够高效地处理和分析数据库中的数据。

转载地址:http://eprwz.baihongyu.com/

你可能感兴趣的文章
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
netsh advfirewall
查看>>
Netty WebSocket客户端
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty常见组件二
查看>>