Mysql 时间格式化 date_format

有没有遇到过类似这样的问题,将日期 ‘2023-02-23‘ 的格式转化为 202302的格式。

可能有些小伙伴,会直接想到字符串拼接 concat(year(2023-02-23),month(2023-02-23))得到的也是 202302。那要是要求必须是时间格式呢,可能有些小伙伴会说再将其转为时间格式,这样就太麻烦了。

日期格式化

DATE_FORMAT(date,format)

date 参数是合法的日期。format 规定日期/时间的输出格式。

常见的使用的格式有:

描述
%Y年,4 位
%y年,2 位
%M月名
%b缩写月名
%m月,数值(00-12)  
%c月,数值
%W星期名
%a缩写星期名
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%j年的天 (001-366)
%w周的天 (0=星期日, 6=星期六)
%H小时 (00-23)
%h小时 (01-12)
%i分钟,数值(00-59)
%S秒(00-59)
%s秒(00-59)
%f微秒
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%T时间, 24-小时 (hh:mm:ss)

栗子

平均活跃天数和月活人数_牛客题霸_牛客网 (nowcoder.com)

请计算2021年每个月里试卷作答区用户平均月活跃天数avg_active_days和月度活跃人数mau,

上面数据的示例输出如下:

monthavg_active_daysmau
2021071.502
2021091.254

解释:2021年7月有2人活跃,共活跃了3天(1001活跃1天,1002活跃2天),平均活跃天数1.5;2021年9月有4人活跃,共活跃了5天,平均活跃天数1.25,结果保留2位小数。

注:此处活跃指有交卷行为。

建表语句:

drop table if exists exam_record;
CREATE TABLE exam_record (id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',uid int NOT NULL COMMENT '用户ID',exam_id int NOT NULL COMMENT '试卷ID',start_time datetime NOT NULL COMMENT '开始时间',submit_time datetime COMMENT '提交时间',score tinyint COMMENT '得分'
)CHARACTER SET utf8 COLLATE utf8_general_ci;INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES
(1001, 9001, '2021-07-02 09:01:01', '2021-07-02 09:21:01', 80),
(1002, 9001, '2021-09-05 19:01:01', '2021-09-05 19:40:01', 81),
(1002, 9002, '2021-09-02 12:01:01', null, null),
(1002, 9003, '2021-09-01 12:01:01', null, null),
(1002, 9001, '2021-07-02 19:01:01', '2021-07-02 19:30:01', 82),
(1002, 9002, '2021-07-05 18:01:01', '2021-07-05 18:59:02', 90),
(1003, 9002, '2021-07-06 12:01:01', null, null),
(1003, 9003, '2021-09-07 10:01:01', '2021-09-07 10:31:01', 86),
(1004, 9003, '2021-09-06 12:01:01', null, null),
(1002, 9003, '2021-09-01 12:01:01', '2021-09-01 12:31:01', 81),
(1005, 9001, '2021-09-01 12:01:01', '2021-09-01 12:31:01', 88),
(1006, 9002, '2021-09-02 12:11:01', '2021-09-02 12:31:01', 89),
(1007, 9002, '2020-09-02 12:11:01', '2020-09-02 12:31:01', 89);

题解:

select date_format(submit_time,'%Y%m') as month,round((count( distinct uid,date_format(submit_time, '%y%m%d'))) / count(distinct uid),2) as avg_active_days,count(distinct uid) as mau
from exam_record
where submit_time is not null and year(submit_time)=2021
group by date_format(submit_time, '%Y%m')

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

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

相关文章

Linux之ACL权限chmod命令

一. chmod命令 chmod命令来自英文词组change mode的缩写,其功能是改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。 设置权限时可以使用数字法,亦可使用字母表达式&#xff0…

GO-ICP的使用(一)

一、代码下载以、修改以及使用 下载: 链接:yangjiaolong/Go-ICP: Implementation of the Go-ICP algorithm for globally optimal 3D pointset registration (github.com) 解压之后 : 首先visual studio项目,配置好PCL环境&…

2024年这些半导体行业告诉我,投资迎来高光

在下行的周期内,砍单、裁员、破产注销等关键词贯穿了2023一年。 我们挥挥手,告别掉过去,怀着对未来的美好希望奔向2024年。未来虽然代表着未知,也有着各种不确定性,但在产业的发展的过程中,行业趋势我们是…

更简单地介绍 CUDA

这篇文章是对 CUDA 的超级简单介绍,CUDA 是 NVIDIA 流行的并行计算平台和编程模型。我之前在2013年写过一篇文章《CUDA简单介绍》,多年来一直很受欢迎。但 CUDA 编程变得更加容易,GPU 也变得更快,所以是时候进行更新(甚…

【Vue实现参数传递:查询参数 vs. 动态路由】

文章目录 查询参数传递1. 什么是查询参数?2. 在Vue中使用查询参数步骤 1:在路由配置中定义查询参数步骤 2:在组件中使用查询参数步骤 3:在页面中生成链接 3. 查询参数传递的优势 动态路由传递1. 什么是动态路由?2. 在V…

SQL-Labs46关order by注入姿势

君衍. 四十六关 ORDER BY数字型注入1、源码分析2、rand()盲注3、if语句盲注4、时间盲注5、报错注入6、Limit注入7、盲注脚本 四十六关 ORDER BY数字型注入 请求方式注入类型拼接方式GET报错、布尔盲注、延时盲注ORDER BY $id 我们直接可以从界面中得知传参的参数为SORT&#x…

Linux内核处理并发与竞争的一种方法:信号量

一. 简介 本文来学习Linux内核处理并发与竞争的一种方法:信号量。 本文主要对Linux内核提供的信号量进行简单的介绍。 二. Linux内核处理并发与竞争的一种方法:信号量 1. 信号量简介 大家如果有学习过 FreeRTOS 或者 UCOS 的话就应该对信号量很熟悉,因为信号量是同步…

Yolo v9 “Silence”模块结构及作用!

论文链接:👿 YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information 代码链接:👿 https://github.com/WongKinYiu/yolov9/tree/main Silence代码 class Silence(nn.Module):def __init__(self):supe…

vue2和vue3对比(语法层面)

阅读文章你将收获: 1 了解不使用组件化工具时,vue在html是如何使用的 2 知道vue2的生命周期函数有哪些 3 知道如何在组件化开发中使用vue 4 大致了解了vue2和vue3在使用上什么不同 最后:vue2和vue3除了下面我列出的有差异化的地方&…

高防服务器的价格受到哪些因素的影响?

高防服务器可以帮助网站拒绝服务攻击,能够进行定时扫描网络节点,并且查找可能会存在的安全漏洞的服务器类型,对于经常遭受到DDOS攻击的大型游戏网络企业会选择高防服务器。 那面对价格多样的高防服务器我们应该怎样进行选择,高防服…

day41打卡

day41打卡 46. 携带研究材料(第六期模拟笔试) 状态表示 ​ 二维:dp[i] [j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。 一维: ​ dp[j]表示:容量为j的背包&a…

模型 HBG(品牌增长)

系列文章 分享 模型,了解更多👉 模型_总纲目录。品牌增长法。 1 HBG(品牌增长)模型的应用 1.1 江小白使用HBG模型提高品牌知名度和销售额 选择受众市场:江小白的目标客户是年轻人,他们喜欢简单、时尚的产品。因此,江…

面试前端性能优化八股文十问十答第三期

面试前端性能优化八股文十问十答第三期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)如何⽤webpack来优化…

数据结构D4作业

1.实现单向循环链表的功能 loop.c #include "loop.h" loop_p create_loop() { loop_p H(loop_p)malloc(sizeof(loop)); if(HNULL) { printf("创建失败\n"); return NULL; } H->len0; H->nextH; ret…

一文彻底搞懂SQL优化

文章目录 1. 索引优化2. WHERE 子句优化3. JOIN 优化4. 查询结果优化5. 子查询优化6. 数据库统计信息和缓存优化7. 事务优化8. 数据库配置优化9. 使用适当的数据类型10. 监控和调优 SQL(Structured Query Language)优化是指对 SQL 查询语句进行调整和改进&#xff0…

关于 Reflect 的笔记

背景:Reflect 为了操作对象而提供的新Api 和 Proxy对象一样 特点 将object 对象的一些明显属于语言内部的方法,放到Reflect 上处理;修改某些object返回的异常结果,让其变得更合理;让object操作都变成函数行为&#xf…

基于ElementUI封装省市区四级联动下拉选择

基于ElementUI封装的省市区下拉级联选择 效果 数据 最新省市区JSON数据获取:https://xiangyuecn.github.io/AreaCity-JsSpider-StatsGov/ 参数说明 参数说明inputNumShow下拉框的数量,最多4个defaultAddress默认显示省市区 例:[‘安徽’, …

按形如 a*sqrt(b) 的格式输出一个非负整数的平方根

【题目描述】 输入一个非负整数 x,若能完全开平方根,则输出其对应的整数平方根值。 否则,按形如 a*sqrt(b) 的格式输出其平方根值(a 与 b 均为整数,且 a≠1,b≠1)。【输入输出】 典型的输入输出…

【C++初阶】--类和对象(下)

目录 一.const成员 1.权限放大问题 2.权限的缩小 二.再谈构造函数 1.构造函数体赋值 2.初始化列表 (1)概念 (2)使用 ①在对象实例化过程中,成员变量先依次进行初始化 ②再进行函数体内二次赋值 3.explicit关键字 (1)C为什么要存在自动隐式类型转换…

Linux内核中自旋锁驱动代码举例二

一. 简介 前面学习了不考虑中断的自旋锁的代码举例,文章地址: Linux内核自旋锁驱动代码举例一-CSDN博客 但是在 Linux系统中,中断时存在的。所以,这里学习使用带保存中断状态的自旋锁API函数,实现对Led设备的互斥访问。 二. 带保存中断状态的自旋锁函数使用 1. 准备…