一起重新开始学大数据-MySQL篇-Day34-日期函数、计算、排序分组筛选、连表联查等

本文主要是介绍一起重新开始学大数据-MySQL篇-Day34-日期函数、计算、排序分组筛选、连表联查等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一起重新开始学大数据-MySQL篇(2)

在这里插入图片描述

日期函数

在这里插入图片描述

获取当前日期:

current_timestamp;–所有

在这里插入图片描述

current_timestamp();–所有

在这里插入图片描述

CURRENT_DATE();-- 年月日

在这里插入图片描述

CURRENT_DATE;-- 年月日

在这里插入图片描述

CURRENT_TIME();-- 时分秒

CURRENT_TIME;-- 时分秒

在这里插入图片描述

时间转str

格式:

date_format(date,format)

date:时间
format:格式

SELECT DATE_FORMAT(CURRENT_DATE(),'%Y-%m-%d');

在这里插入图片描述

str转日期

格式:

str_to_date(str,formaat)

例:

SELECT STR_TO_DATE('2021-08-10','%Y-%m-%d')

在这里插入图片描述

日期相减

格式:

datediff(expr1,expr2);

注意:

只能相减年月日,时分秒参与运算结果为null

SELECT DATEDIFF('2021-08-10','2021-07-5');

在这里插入图片描述

函数向日期添加指定的时间间隔

格式:

DATE_ADD(date,INTERVAL expr unit);

date:时间
INTERVAL:关键字
expr:间隔的数值
unit:年月日时分秒(…,…,day,…,…,…)

SELECT DATE_ADD('2021-8-10',INTERVAL 5 DAY);
SELECT DATE_ADD('2021-8-10',INTERVAL -5 DAY);

在这里插入图片描述

计算

在这里插入图片描述

round(x,d):四舍五入

x:值
d:保留几位小数点

SELECT ROUND(1.0);
SELECT ROUND(1.4);
SELECT ROUND(1.5);

在这里插入图片描述

ceil(x):向上取整

SELECT CEIL(1.0);
SELECT CEIL(1.4);
SELECT CEIL(1.5);

在这里插入图片描述

floor(x):向下取整

SELECT FLOOR(1.0);
SELECT FLOOR(1.4);
SELECT FLOOR(1.5);

在这里插入图片描述

rand():随机数(0-1之间)

SELECT RAND();
SELECT RAND();

在这里插入图片描述

排序、分组、筛选

在这里插入图片描述

排序

格式:

order by 字段1 asc|desc,字段2 asc|desc...字段n asc|desc;

例如:按照age进行降序排列,age相同按照id进行降序排列

select * from students order by age desc,id desc;

注意:

默认升序asc,降序desc
如果有多个字段,按照先后顺序依次排序

在这里插入图片描述

group by 分组

格式:

group by 字段1,字段2...字段n;

注意:

多个字段,按照所有字段进行分组(一起分组)
有多少组显示多少条数据(默认情况下,没有经过条件筛选)
每组显示的数据为每组中默认第一条数据
gruop by 通常和聚合函数一起使用

SELECT * from students GROUP BY sex;

在这里插入图片描述

筛选:where having

区别:having可以使用聚合函数

例如:

select * from students where age>=25;--可以
select * from students having age>=25;--可以
select sex,count(*) c from students group by sex  where c>4;--不可以
select sex,count(*) c from students group by sex having c>4;--可以
SELECT * from student GROUP BY sex HAVING sex='0';

在这里插入图片描述

TopN:前几条数据

1.TopN age最大的前三个

select * from students order by age desc limit 0,3;

在这里插入图片描述

2.分组Top1 按sex分组后,求分组中年龄最大的一个

select * from students where age in (select max(age) m from students group by sex);
select * from students as stu1 where age=(select max(age) from students as stu2 where stu1.sex=stu2.sex);

在这里插入图片描述

3.分组TopN 按sex分组后,求分组中年龄最大的三个

select * from students as stu1 where 3>(select count(*) FROM students as stu2 where stu1.sex=stu2.sex and stu1.age<stu2.age);

在这里插入图片描述

连表联查

在这里插入图片描述

union:结果集进行合并(纵向合并)

格式:

查询语句 union 查询语句

注意:

查询列数必须相同
字段为第一个sql语句的字段
union默认去重
union all不去重<./font>

例子

SELECT id from students UNION SELECT id from students;
SELECT id from students UNION ALL SELECT id from students;

在这里插入图片描述在这里插入图片描述

left join(以左表为基准关联右表中的数据)

格式:

select * from 左表 left join 右表 on 关联条件;

注意:

左表匹配不到右表,以null不全
右表匹配不到左表,不显示

SELECT * FROM id LEFT JOIN students ON id.id=students.id;

在这里插入图片描述

right join(以右表为基准关联左表中的数据)

格式:

select * from 右表 left join 左表 on 关联条件;

注意:

左表匹配不到右表,不显示
右表匹配不到左表,以null不全

SELECT * FROM id right JOIN students ON id.id=students.id;

在这里插入图片描述

inner join(求两张表的交集)

格式:

select * from 右表 inner join 左表 on 关联条件;

注意:

关联条件可写可不写
如果不写可以写为select * from 表1,表2 where 子句;

SELECT * FROM id INNER JOIN students ON id.id=students.id;

在这里插入图片描述

mysql三大范式

1.原子性:字段不可在分割
2.唯一性:字段依赖于主键
3.冗余性:数据量过大

|
|
|
|

上一章-MySQL篇-Day33-SQL、建库建表、增删查改、聚合函数等

下一章-MySQL篇-Day35-练习题

|
|

|
|

听说长按大拇指👍会发生神奇的事情呢!好像是下面的画面,听说点过的人🧑一个月内就找到了对象的💑💑💑,并且还中了大奖💴$$$,考试直接拿满分💯,颜值突然就提升了😎,虽然对你好像也不需要,是吧,吴彦祖🤵!

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

这篇关于一起重新开始学大数据-MySQL篇-Day34-日期函数、计算、排序分组筛选、连表联查等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871493

相关文章

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

MySQL重复数据处理的七种高效方法

《MySQL重复数据处理的七种高效方法》你是不是也曾遇到过这样的烦恼:明明系统测试时一切正常,上线后却频频出现重复数据,大批量导数据时,总有那么几条不听话的记录导致整个事务莫名回滚,今天,我就跟大家分... 目录1. 重复数据插入问题分析1.1 问题本质1.2 常见场景图2. 基础解决方案:使用异常捕获3.

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

mysql中的group by高级用法

《mysql中的groupby高级用法》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,下面给大家介绍mysql中的groupby用法... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使