<SQL>《SQL命令(含例句)精心整理版(2)》
《SQL命令(含例句)精心整理版(2)》
- 跳转《SQL命令(含例句)精心整理版(1)
- 8 函数
- 8.1 文本处理函数
- 8.2 数值处理函数
- 8.3 时间处理函数
- 8.3.1 时间戳转化为自定义格式from_unixtime
- 8.3.2 转化时间格式CONVERT()
- 8.3.3 获取系统时间
- 8.4 聚集函数(aggregate function)
- COALESCE
- 9 子查询
- 9.1 子查询
- 9.2 GROUP BY & ORDER BY
- 9.3 分组排序 (row_number()over())
跳转《SQL命令(含例句)精心整理版(1)
8 函数
8.1 文本处理函数
| 函数 | 说明 |
|---|---|
| LEFT() | (或使用子字符串函数) 返回字符串左边的字符 |
| LENGTH() | (也使用DATALENGTH()或LEN()) 返回字符串长度 |
| LOWER() | (Access使用LCASE()) 将字符串转换为小写 |
| LTRIM() | 去掉字符串左边的空格 |
| RIGHT() | (或使用子字符串函数) 返回字符串右边的字符 |
| RTRIM() | 去掉字符串右边的空格 |
| SOUNDEX() | 返回字符串的SOUNDEX值 |
| UPPER() | (Access使用UCASE()) 将字符串转换成大写 |
8.2 数值处理函数
| 函数 | 说明 |
|---|---|
| ABS() | 返回一个数的绝对值 |
| COS() | 返回一个角度的余弦 |
| EXP() | 返回一个数的指数值 |
| PI() | 返回圆周率 |
| SIN() | 返回一个角度的正弦 |
| SQRT() | 返回一个数的平方根 |
| TAN() | 返回一个角度的正切 |
8.3 时间处理函数
| 函数 | 说明 |
|---|---|
| now() | 当前日期日期 |
| curdate() | 当前日期 |
| curtime() | 当前时间 |
| 时间差 | DATE_ADD() # 给日期添加指定的时间间隔 DATE_SUB() # 给日期减去指定的时间间隔 例如:DATE_SUB(curdate(),INTERVAL 7 DAY) 当前日期减七天 |
| 时间差函数 timestampdiff | 语法: timestampdiff(unit,begin,end) begin和end可以为DATE或DATETIME类型,并且可允许参数为混合类型。 |
8.3.1 时间戳转化为自定义格式from_unixtime
| 函数 | 说明 |
|---|---|
| 格式 | from_unixtime(timestamp(需要转化的时间戳),‘%Y-%m-%d %h:%i:%s’) |
| %Y 年 | 4位,2023 |
| %y | 年,2位,23 |
| %M | 月名 |
| %m | 月,数值(00-12) |
| %D | 带有英文前缀的月中的天 |
| %d | 月的天,数值(00-31) |
| %H:%i:%s | 00:00:00 |
8.3.2 转化时间格式CONVERT()
| 函数 | 说明 |
|---|---|
| 格式 | CONVERT(expr,type) expr: 要转换的值 type: 要转换为的数据类型 |
| DATE | 将expr转换成’YYYY-MM-DD’格式 |
| DATETIME | 将expr转换成’YYYY-MM-DD HH:MM:SS’格式 |
| TIME | 将expr转换成’HH:MM:SS’格式 |
| CHAR | 将expr转换成CHAR(固定长度的字符串)格式 |
| SIGNED | 将expr转换成INT(有符号的整数)格式 |
| UNSIGNED | 将expr转换成INT(无符号的整数)格式 |
| DECIMAL | 将expr转换成FLOAT(浮点数)格式 |
| BINARY | 将expr转换成二进制格式 |
8.3.3 获取系统时间
| 函数 | 说明 |
|---|---|
| DBMS | 函数/变量 |
| Access | NOW() |
| DB2 | CURRENT_DATE |
| MySQL | CURRENT_DATE() |
| Oracle | SYSDATE |
| PostgreSQL | CURRENT_DATE |
| SQL Server | GETDATE() |
| SQLite | Date(‘now’) |
8.4 聚集函数(aggregate function)
| 函数 | 说明 |
|---|---|
| AVG() | 返回某列的平均值 |
| COUNT() | 返回某列的行数 |
| MAX() | 返回某列的最大值 |
| MIN() | 返回某列的最小值 |
| SUN() | 返回某列值之和 |
| 举例:组合聚合函数 | SELECT COUNT(*) AS num_items, MIN(prod_price) AS price_min, MAX(prod_price) AS price_max, AVG(prod_price) AS price_avg FROM Products |
COALESCE
按顺序对其参数求值并返回第一个非NULL值。仅当所有参数均为NULL时结果才为NULL。
为消息中可能不存在的字段提供缺省值。
表达式:COALESCE(Body.Salary,0) ,如果消息中有SALARY字段,将返回它的值,如果该字段不存在,将返回0.
9 子查询
9.1 子查询
| 子句 | 说明 | 是否必须使用 |
|---|---|---|
| SELECT | 要返回的列或表达式 | 是 |
| FROM | 从中检索数据的表 | 仅在从表选择数据时使用 |
| WHERE | 行级过滤 | 否 |
| GROUP BY | 分组说明 | 仅在按组计算聚集时使用 |
| HAVING | 组级过滤 | 否 |
| ORDER BY | 输出排序顺序 | 否 |
9.2 GROUP BY & ORDER BY

例1:SELECT vend_id,count() AS num_prods FROM Products GROUP BY vend_id
例2:SELECT cust_id,count() AS orders FROM Orders GROUP BY cust_id HAVING COUNT() >=2
9.3 分组排序 (row_number()over())
(1)对查询结果进行排序(无分组)
SELECT empno,WORKDEPT,SALARY,Row_Number() OVER (partition by workdept ORDER BY salary desc) rank FROM employee
| empno | WORKDEPT | SALARY | Row_Number() |
|---|---|---|---|
| 000010 | A00 | 152750 | 1 |
| 000110 | A00 | 66500 | 2 |
| 000120 | A00 | 49250 | 3 |
| 200010 | A00 | 46500 | 4 |
| 200120 | A00 | 39250 | 5 |
| 000020 | B01 | 94250 | 1 |
| 000030 | C01 | 98250 | 1 |
| 000130 | C11 | 73800 | 2 |
(2)对查询结果进行排序(无分组)
SELECT empno,WORKDEPT,SALARY,Row_Number() OVER (ORDER BY salary desc) rank FROM employee
| empno | WORKDEPT | SALARY | Row_Number() |
|---|---|---|---|
| 000010 | A00 | 152750 | 1 |
| 000030 | C01 | 98250 | 2 |
| 000070 | D21 | 96170 | 3 |
| 000020 | B01 | 94250 | 4 |
| 000090 | E11 | 89750 | 5 |
| 000100 | E21 | 86150 | 6 |
| 000050 | E01 | 80175 | 7 |
| 000130 | C11 | 73800 | 8 |
| 000060 | D11 | 72250 | 9 |
小结:row_number() over()和rownum差不多,功能更强一点。(可以在各个分组内从1开始排序)
(3)rank() over() 是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)
SELECT WORKDEPT,SALARY,rank() OVER (partition by workdept ORDER BY salary ) as dense_rank_order FROM emp order by workdept
| WORKDEPT | SALARY | rank() |
|---|---|---|
| A00 | 39250 | 1 |
| A00 | 46500 | 2 |
| A00 | 49250 | 3 |
| A00 | 66500 | 4 |
| A00 | 152750 | 5 |
| B01 | 94250 | 1 |
| C01 | 68420 | 1 |
| C01 | 68420 | 1 |
| C01 | 73800 | 3 |
(4)dense_rank() over() 是连续排序,有两个第二名时仍然跟着第三名。相比之下,row_number是没有重复值的
SELECT WORKDEPT,SALARY,dense_rank() OVER (partition by workdept ORDER BY salary ) as dense_rank_order FROM emp order by workdept
| WORKDEPT | SALARY | dense_rank() |
|---|---|---|
| A00 | 39250 | 1 |
| A00 | 46500 | 2 |
| A00 | 49250 | 3 |
| A00 | 66500 | 4 |
| A00 | 152750 | 5 |
| B01 | 94250 | 1 |
| C01 | 68420 | 1 |
| C01 | 68420 | 1 |
| C01 | 72420 | 2 |
| C01 | 73800 | 3 |
相关文章:
<SQL>《SQL命令(含例句)精心整理版(2)》
《SQL命令(含例句)精心整理版(2)》 跳转《SQL命令(含例句)精心整理版(1)8 函数8.1 文本处理函数8.2 数值处理函数8.3 时间处理函数8.3.1 时间戳转化为自定义格式from_unixtime8.3.2 …...
完全自主研发,聚芯微发布3D dToF图像传感器芯片!
日前,由中国半导体行业协会IC设计分会(ICCAD)、芯原股份、松山湖管委会主办的主题为“AR/VR/XR元宇宙”的“2023松山湖中国IC创新高峰论坛”正式在广东东莞松山湖召开。武汉市聚芯微电子有限责任公司发布了完全自主知识产权的3D dToF图像传感…...
MySQL 事物(w字)
目录 事物 首先我们来看一个简单的问题 什么是事务 为什么会出现事务 事务的版本支持 事务提交方式 事务常见操作方式 设置隔离级别 事物操作 事物结论 事务隔离级别 理解隔离性 隔离级别 查看与设置隔离性 注意可重复读【Repeatable Read】的可能问题ÿ…...
字节跳动测试岗四面总结....
字节一面 1、 简单做一下自我介绍 2、 简要介绍一下项目/你负责的模块/选一个模块说一下你设计的用例 3 、get请求和post请求的区别 4、 如何判断前后端bug/3xx是什么意思 5、 说一下XXX项目中你做的接口测试/做了多少次 6、 http和https的区别 7、 考了几个ADB命令/查看…...
基于.NetCore开源的Windows的GIF录屏工具
推荐一个Github上Start超过20K的超火、好用的屏幕截图转换为 GIF 动图开源项目。 项目简介 这是基于.Net Core WPF 开发的、开源项目,可将屏幕截图转为 GIF 动画。它的核心功能是能够简单、快速地截取整个屏幕或者选定区域,并将其转为 GIF动画&#x…...
PCB 基础~典型的PCB设计流程,典型的PCB制造流程
典型的PCB设计流程 典型的PCB制造流程 • 从客户手中拿到Gerber, Drill以及其它PCB相关文件 • 准备PCB基片和薄片 – 铜箔的底片会被粘合在基材上 • 内层图像蚀刻 – 抗腐蚀的化学药水会涂在需要保留的铜箔上(例如走线和过孔) – 其他药水…...
Python logging使用
目录 logging模块 logging核心组件 logger handler StreamHandler:把日志内容在控制台中输出 FileHandler:把日志内容写入到文件中 filter formatter 注意日志级别的继承问题 logger.exception 上述样例的整体代码 日志的配置文件及其模板 lo…...
红黑树的实现原理和应用场景
红黑树的实现原理和应用场景; 有如图所示的表,现在希望查询的结果将列成行 建表语句如下: CREATE TABLE TEST_TB_GRADE2 ( ID int(10) NOT NULL AUTO_INCREMENT, USER_NAME varchar(20) DEFAULT NULL, CN_SCORE float DEFAULT NU…...
idea插件完成junit代码生成,和springboot代码示例
在idea环境下,可以用过插件的方式自动生成juint模板代码。不过具体要需要自己手动编写。 1、安装插件 打开idea,file–settings–plugins,搜索和安装插件(JunitGenerator V2.0和JUnit),安装后,后…...
【Redis面试点总结】
1、缓存 1.1、穿透 查询一个空数据,mysql也查不到也不会写入缓存可能导致多次请求数据库 方案一:缓存设空即可(可能发生数据不一致就是这条数据有了但此时缓存是空,消耗内存) 方案二:布隆过滤器&#x…...
打卡智能中国(五):博士都去哪儿了?
《打卡智能中国》系列更新了几期,有读者表示,很爱看这类接地气的真实故事,也有读者反映,不是电工,就是文员、农民、治沙人,人工智能不是高精尖学科吗?那些学历很高的博士都去哪儿了?…...
[Nacos] Nacos Client获取调用服务的提供者列表 (四)
文章目录 1.Nacos Client获取调用服务的提供者列表1.1 从Ribbon的负载均衡入手到Nacos Client获取调用服务的提高者列表1.2 getServers方法返回分析1.3 通过selectInstances方法查找Instances实例1.4 获取到要调用服务的serviceInfo Nacos Client 从Ribbon负载均衡调用服务。 …...
gcc编译一个程序的步骤(嵌入式学习)
1.预处理(Preprocessing): 在这个步骤中,预处理器将处理与#相关的代码,包括展开头文件、删除无用定义和替换宏定义。预处理器会生成一个经过宏替换和条件编译处理的中间文件。 gcc -E xxx.c -o xxx.i2.编译࿰…...
邹检验,结构变化识别及其R语言实现
在描述多维数据的维度关系时,线性模型无疑应用最多。然而某些情况下,我们关心随着时间变化或随着样本分组,线性关系的具体参数是否发生了变化,即是否发生结构变化Structural break。邹检验Chow test提供了最基本的一种结构变化显著…...
腾讯云,物联网开发平台产品,动态注册步骤
1. 下载后解压,qcloud_iot_mqtt_sign-master.zip GitHub - tencentyun/qcloud_iot_mqtt_signContribute to tencentyun/qcloud_iot_mqtt_sign development by creating an account on GitHub.https://github.com/tencentyun/qcloud_iot_mqtt_sign 2. 按照readme文…...
Padding, Spacer, Initializer 的使用
1. Padding 的使用 1.1 样式一 1) 实现 func testText1()-> some View{Text("Hello, World!").background(Color.yellow) // 背景颜色//.padding() // 默认间距.padding(.all, 10) // 所有的间距.padding(.leading, 20) // 开始的间距.ba…...
少儿编程 中国电子学会图形化编程等级考试Scratch编程四级真题解析(判断题)2023年3月
2023年3月scratch编程等级考试四级真题 判断题(共10题,每题2分,共20分) 11、在使用自定义积木时,不可以传递布尔型参数 答案:错 考点分析:考查自定义积木的使用,使用自定义积木的时候可以传递数字、文本和布尔型参数,所以错误 12、执行如下图程序后,输出的结果为“…...
Makefile学习笔记
目录 一、概述 1.1 Makefile 介绍 1.2规则 1.3核心 1.4示例 1.5定义命令 1.6 make是如何工作的 1.7、makefile中使用变量 1.8让make自动推导 1.9、另类风格的makefile 1.10、清空目标文件的规则 二、Makefile 总述 2.1、Makefile里有什么? 2.2、 mak…...
C++ 函数模板基础
文章目录 一、什么是函数模板二、函数模板的优点1、代码重用2、类型安全3、可读性4、泛型编程5、性能优化6、库开发 三、函数模板的使用场景1、通用操作2、数据结构与容器操作3、排序与查找算法4、数学与统计函数5、类型转换器6、自定义函数对象 四、模板参数的声明(…...
CUDA torch reinstall 与杂谈
一 实用技巧 1 从cuda11升级到12 apt-get --purge remove "cuda*" wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run sh cuda_12.1.1_530.30.02_linux.run vim ~/.bashrc export PATH/usr/local…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
高保真组件库:开关
一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...
【基于阿里云搭建数据仓库(离线)】使用UDTF时出现报错“FlatEventUDTF cannot be resolved”
目录 问题: 可能的原因有: 解决方法: 问题: 已经将包含第三方依赖的jar包上传到dataworks,并且成功注册函数,但是还是报错:“FlatEventUDTF cannot be resolved”,如下:…...
2025年渗透测试面试题总结-腾讯[实习]安全研究员(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]安全研究员 1. 自我介绍 2. SQL二次注入原理 3. 二次注入修复方案 4. SQL注入绕WAFÿ…...
2025-05-01-决策树算法及应用
决策树算法及应用 参考资料 GitHub - zhaoyichanghong/machine_learing_algo_python: implement the machine learning algorithms by p(机器学习相关的 github 仓库)决策树实现与应用决策树 概述 机器学习算法分类 决策树算法 决策树是一种以树状结构对数据进行划分的分类…...
操作系统期末版
文章目录 概论处理机管理进程线程处理机调度生产者消费者问题 死锁简介死锁的四个必要条件解决死锁的方法 存储管理链接的三种方式静态链接装入时动态链接运行时链接 装入内存的三种方式绝对装入可重定位装入动态运行时装入 覆盖交换存储管理方式连续分配**分段存储管理方式***…...
