SQL语句GROUP BY、HAVING、EXISTS、SQL函数(Null判断、日期相关、计算数值和字符串操作 )

news2024/11/28 0:44:12

目录

GROUP BY

HAVING

EXISTS

SQL函数

Null判断函数

日期数据类型及函数

计算数值和字符串操作函数 

AVG(平均值)

COUNT(数据条数)

FIRST/LAST(第一条数据)

MAX/MIN(最大值)

SUM(列总和)

UCASE/ LCASE (转换大小写)

MID(截取字符串)

LEN(字符值的长度)

ROUND(数值四舍五入)

FORMAT(数据格式转化)

FORMAT详细介绍


GROUP BY

根据某一列或多列进行分组(列值相同的为一组),每组返回产生一条数据(默认为第一条数据)

Websites表

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

access_log

+-----+---------+-------+------------+
| aid | site_id | count | date       |
+-----+---------+-------+------------+
|   1 |       1 |    45 | 2016-05-10 |
|   2 |       3 |   100 | 2016-05-13 |
|   3 |       1 |   230 | 2016-05-14 |
|   4 |       2 |    10 | 2016-05-14 |
|   5 |       5 |   205 | 2016-05-14 |
|   6 |       4 |    13 | 2016-05-15 |
|   7 |       3 |   220 | 2016-05-15 |
|   8 |       5 |   545 | 2016-05-16 |
|   9 |       3 |   201 | 2016-05-17 |
+-----+---------+-------+------------+

返回 access_log 各个 site_id 的访问量

https://www.runoob.com/wp-content/uploads/2013/09/groupby1.jpg

统计有记录的网站的记录数量

https://www.runoob.com/wp-content/uploads/2013/09/groupby2.jpg

HAVING

用于搭配函数筛选内容,因为WHERE 关键字无法与函数一起使用。

查找总访问量大于 200 的网站(见GROUP BY中的表)

 

EXISTS

用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。

查找存在总访问量(count 字段)大于 200 的网站名和链接(见GROUP BY中的表)。

 

SQL函数

数据库中的内置函数。

Null判断函数

下面表示当UnitsOnOrder列中有值为null时返回0

SQL Server / MS Access

ISNULL(UnitsOnOrder,0)

Oracle

NVL(UnitsOnOrder,0)

MySQL

--两种都行
IFNULL(UnitsOnOrder,0)
COALESCE(UnitsOnOrder,0)

日期数据类型及函数

SQL Server 和 MySQL 中的 Date 函数 | 菜鸟教程

计算数值和字符串操作函数 

AVG(平均值)

对某一列取平均值

SELECT site_id, count FROM access_log
WHERE count > (SELECT AVG(count) FROM access_log);

注意不能直接写count>AVG(count)where关键字不能与函数一起使用

COUNT(数据条数)

返回符合条件的指定列的值的数目(NULL 不计入)

SELECT COUNT(count) AS nums FROM access_log

返回access_log表中列字段count不为null的总条数。

Count(*)表示返回所有条数(包括null)。

COUNT(DISTINCT count)表示列字段count不为null且去重后的总条数。

计算指定的字符为一条数据

count(case when job ='SALESMAN' then '1' end)
count(case job = 'MANAGER' then 2 end )

表示当job字段值为SALESMAN时为1条,为MANAGER时为2条

FIRST/LAST(第一条数据)

FIRST(column_name)返回指定的列中第一个(最后一个)记录的值。

只有 MS Access 支持 FIRST/LAST() 函数。可以用SELECT TOPLIMIT加上ORDER BY来代替

MAX/MIN(最大值)

 MAX(column)返回指定列的最大/最小值。

SUM(列总和)

SUM(column_name)返回某一列数值的总和。

UCASE/ LCASE (转换大小写)

UCASE/ LCASE (column_name)把字段的值转换为大/小写。

SQL Server使用UPPER/LOWER(column_name)。

MID(截取字符串)

MID(column_name,start,length?)从某个文本字段提取字符,start为起始值,最小为1,length为可选表示返回的字符数,省略时返回剩余文本。

注意在MySql 中使用,Oracle用substr,MS SQL Server用SubString关键字代替mid

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

https://www.runoob.com/wp-content/uploads/2013/09/mid1.jpg

LEN(字符值的长度)

LEN(column_name)返回该列字段中值的长度。

ROUND(数值四舍五入)

ROUND(column_name,decimals?)对某列数值字段进行指定小数位数的四舍五入,decimals为可选表示返回小数的位数,省略时只返回整数。

FORMAT(数据格式转化)

FORMAT(column_name,format)对某列字段值进行格式化。通常用在时间相关上。

下面会把Now函数产生的时分秒过滤掉,只显示年月日,中间用-连接。

SELECT DATE_FORMAT(Now(),'%Y-%m-%d') AS date
FROM Websites;

FORMAT详细介绍

SQL FORMAT 函数 - SQL教程 - 一点教程

SQL FORMAT() 函数的使用 - 墨天轮 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/769593.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java版知识付费-轻松拥有知识付费平台

Java版知识付费-轻松拥有知识付费平台 多种直播形式,全面满足直播场景需求 公开课、小班课、独立直播间等类型,满足讲师个性化直播场景需求;低延迟、双向视频,亲密互动,无论是互动、答疑,还是打赏、带货、…

开放式耳机别人能听到吗?开放式蓝牙耳机的优缺点?

​开放式耳机在近几年越来越受欢迎,而市面上的不入耳开放式耳机就分为气传导和骨传导两大类。开放式耳机不入耳设计,佩戴上耳更加稳固舒适,长时间没有压力,而传统入耳式耳机则在封闭情况下听音会容易闷耳,长时间佩戴还…

Linux中文件系统详解——关于loop

都是nvme0n1p3——第三分区的内存分出去的,第二分区为微软的保留分区。 -------------------------------------------------------------------------------------------------------------------------------- 1,4,5,6分区已经…

Windows下 创建 FTP 服务器及相关设置

Windows 创建 FTP 服务器 1. 示例功能说明 FTP 服务器根路径下的目录: C:\USERS\SQQIAN\DESKTOP\FTP └─localuser├─FTP1 # 只有用户名为FTP1可以访问,读写均可│ FTP11.txt│├─FTP2 # 只有用户名为FTP2…

排序算法第四辑——归并排序与计数排序

目录 一,归并排序算法 二,归并排序的非递归版本 三,计数排序 一,归并排序算法 归并排序算法是一个特别经典的算法了。这个算法采用的思想就是一个分治的思想,也就是将大问题化为子问题的思想。这个思想其实我们经常…

如何用双指针法解决力扣“反转单词前缀”问题

本篇博客会讲解力扣“2000. 反转单词前缀”的解题思路,这是题目链接。 本题的思路是:先调用strchr函数,在字符串word中查找字符ch,若找到了,则会返回一个非空指针p,指向ch在word中的位置。为了反转从word到…

下一个更大元素 I 力扣 HashMap + Deque栈 JAVA

nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。 对于每个 0 < i < nums1.length &#xff0c;找出…

2023年北京/上海/深圳CSPM-3中级国标项目管理认证报名

CSPM-3中级项目管理专业人员评价&#xff0c;是中国标准化协会&#xff08;全国项目管理标准化技术委员会秘书处&#xff09;&#xff0c;面向社会开展项目管理专业人员能力的等级证书。旨在构建多层次从业人员培养培训体系&#xff0c;建立健全人才职业能力评价和激励机制的要…

基于ESP32-S3-BOX-Lite的语音合成与播报系统(esp-idf+WiFi+HTTPS+TTS)

目录 项目介绍硬件介绍项目设计开发环境及工程目录硬件初始化WiFiHTTPS请求TTS语音合成与播报cJSON解析TTS初始化语音合成与播报 附加功能按键回调LVGL数据可视化显示 功能展示项目总结 &#x1f449; 【Funpack2-3】基于ESP32-S3-BOX-LITE的B站粉丝数语音播报系统 &#x1f44…

ThinkPHP 远程一对多关联

用远程一对多关联的前提 如果模型 A 想远程一对多关联模型 C&#xff0c;前提是中间模型 B 对应的数据库表必须有模型 A 对应的数据表的外键&#xff0c;模型 C 对应的数据库表必须有模型 B 对应数据库表的外键。&#xff08;套娃&#xff09; 举例&#xff0c;商品获取商品评…

《世纪桥》期刊简介及投稿邮箱

《世纪桥》期刊简介及投稿邮箱 一、《世纪桥》期刊简介&#xff1a; 《世纪桥》以服务党史研究、总结执政经验、关注改革实践、透析时代热点、展现党员风采、传播先进文化、繁荣学术事业为宗旨&#xff0c;以发展和培养学术新人为已任&#xff0c;倡导学术的当代性、应用性和…

C# WPF编辑时显示图片,运行时不显示图片的解决方案

1、WPF语法 <Image Source"/ObjectName;component/Images/graph.png"/>2、设置图片属性 复制到输出目录设为&#xff1a;始终复制 生成操作设置为&#xff1a;资源

Spring-AOP(面向切面)

Spring-AOP(面向切面) 场景模拟(计算器) 功能接口 public interface Calculator {int add(int i, int j);int minus(int i, int j);int multiply(int i, int j);int div(int i, int j); }实现类 public class CalculateLogImpl implements Calculator {Overridepublic int …

PerfView 洞察那些 C# 代码中的短命线程

一&#xff1a;背景 1. 讲故事 这篇文章源自于分析一些疑难dump的思考而产生的灵感&#xff0c;在dump分析中经常要寻找的一个答案就是如何找到死亡线程的生前都做了一些什么&#xff1f;参考如下输出&#xff1a; 0:001> !t ThreadCount: 22 UnstartedThread: 0 Ba…

浏览器打开新的页面时自动打开控制台

需求 打开浏览器新tab时自动打开控制台&#xff0c;捕捉初次的网络请求 解决 在浏览器图标属性中加入以下代码&#xff0c;再次打开浏览器 --auto-open-devtools-for-tabs

Django实现接口自动化平台(十四)测试用例模块Testcases序列化器及视图【持续更新中】

相关文章&#xff1a; Django实现接口自动化平台&#xff08;十三&#xff09;接口模块Interfaces序列化器及视图【持续更新中】_做测试的喵酱的博客-CSDN博客 本章是项目的一个分解&#xff0c;查看本章内容时&#xff0c;要结合整体项目代码来看&#xff1a; python django…

1000+设计施工模型免费下载,助力设计方案制作和汇报场景搭建!

作为一名工程设计、施工人员&#xff0c;设计方案制作、工程汇报场景搭建的情景再常见不过。日常需要的模型是必不可少的&#xff0c;但最令人头大的问题是如何寻找方案素材。想要表达的信息越多&#xff0c;素材获取就越是苦恼&#xff01; 有没有一款软件能够集方案三维汇报…

边缘计算:连接物理与数字世界的智能桥梁

引言&#xff1a; 边缘计算&#xff08;Edge Computing&#xff09;作为一种分布式计算模型&#xff0c;旨在将数据处理和分析推向网络边缘设备。随着物联网和大数据的快速发展&#xff0c;边缘计算成为了解决数据处理延迟、网络带宽压力和隐私安全等问题的重要技术。本文将深入…

OLED拼接屏采购指南:如何选择最佳方案?

OLED拼接屏作为一种创新的大屏幕显示设备&#xff0c;正在成为各行各业信息展示和传播的重要工具。 然而&#xff0c;面对市场上众多的品牌和型号&#xff0c;如何选择最佳的OLED拼接屏方案成为一项关键任务。 本文将为您提供一份全面且实用的OLED拼接屏采购指南&#xff0c;…

pdf怎么转换为word格式?这5个实用的方法分享!

在现代数字化时代&#xff0c;PDF&#xff08;Portable Document Format&#xff09;文件已经成为广泛使用的文件格式之一。由于其固定的格式和可移植性&#xff0c;PDF文件在共享和传输文档时非常方便。然而&#xff0c;当我们需要编辑或修改PDF文件时&#xff0c;PDF的固定格…