【SQL】1193. 每月交易 I 【年月日(日期)拼接相关函数】

前述

知识点学习:

  • SQL 日期函数 day() 、month()、year() 各种使用方法
  • mysql 两个字符年月拼接

题目描述

leetcode题目:1193. 每月交易 I

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

思路

先按照年月排,再按照country排列

日期拼接相关的函数

  • year(): 截取年份;
  • month():截取月份;
  • day(): 截取日期;
  • concat():字符串拼接;
  • LPAD(): 在月份前补齐0,确保月份是两位数。
  • '-' :分隔符,举例:‘2018-12’ 中的 ‘-’
  • DATE_FORMAT():格式化日期。
    • DATE_FORMAT('2018-12-23', '%Y-%m')

注意:对比区分

  • count(if(state='approved', 1, null))
  • sum(if(state='approved', 1, 0))

写法一

select
    concat(year(trans_date), '-', lpad(month(trans_date), 2, '0')) as `month`,
    country,
    count(id) as trans_count,
    sum(if(state='approved', 1, 0)) as approved_count,
    sum(amount) as trans_total_amount,
    sum(if(state='approved', amount, 0)) as approved_total_amount
from Transactions 
group by year(trans_date), month(trans_date) , country

执行用时分布601ms,击败57.76%使用 MySQL 的用户

写法二

select 
    date_format(trans_date, '%Y-%m') as `month`,
    country,
    count(id) as trans_count,
    count(if(state='approved', 1, null)) as approved_count,
    sum(amount) as trans_total_amount,
    sum(if(state='approved', amount, 0)) as approved_total_amount
from Transactions 
group by `month`, country

执行用时分布 852ms,击败28.66%使用 MySQL 的用户

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linuxOPS基础_linux命令合集

uname查看操作系统信息 命令:uname [参数] 作用:获取计算机操作系统相关信息 参数:-a,选项-a代表all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划) 用法一&…

将OpenCV与gcc和CMake结合使用

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9.0开源计算机视觉库在 Linux 中安装 下一篇: 引言: 近年来,计算机视觉技术在图像处理、目标检测和机器人等方面得到了广泛的应用…

基于FPGA的光纤通信系统设计

文章目录 光纤通信系统的组成发送端FPGA端口定义状态机设计代码示例 接收端功能模块端口定义状态机设计 光纤通信系统的组成 发送端FPGA 发送控制逻辑、数据编码、校验码生成、缓存控制、时钟控制 端口定义 状态机设计 代码示例 接收端功能模块 接收端控制逻辑、数据解码、…

前世档案(不用二叉树语法秒杀版c++)

网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。 现在我们把结论从左到右顺序…

综合知识篇06-软件架构设计考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

javaEE——线程的等待和结束

文章目录 Thread 类及常见方法启动一个线程中断一个线程变量型中断调用 interrupt() 方法来通知观察标志位是否被清除 等待一个线程获取当前线程引用休眠当前线程 线程的状态观察线程的所有状态观察 1: 关注 NEW 、 RUNNABLE 、 TERMINATED 状态的切换 多线程带来的风险为什么会…

java serlvet 高校学生画像平台系统Myeclipse开发mysql数据库web结构java编程计算机网页项目echarts图形展现

一、源码特点 java serlvet 高校学生画像平台系统是一套完善的java web信息管理系统 系统采用serlvetdaobean 模式开发本系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCA…

Selenium基础

1. selenium简介 用于实现自动化测试的 python 包,使用前需要安装对应浏览器驱动 from time import sleep from selenium import webdriver option webdriver.ChromeOptions() # 指定chrome存储路径的二进制形式 option.binary_locationD:\Chrome\Google\Chrome\Ap…

Android VINF

周末搞这玩意欲仙欲死,没办法只有看看。VINTF是供应商接口对象(VINTF 对象),准确的说,这个是属于兼容性矩阵概念。。。有点想起了以前看过的一个电影,异次元杀阵。。。下面是谷歌官方的图。 本质上其实就是…

【分布式websocket 】前端vuex管理客户端消息crud!使用localStorage来存储【第19期】

前言 聊天系统客户端是要存储消息的,因为所有所有的历史消息都从服务器拉的话一方面服务器压力大,另一方面也耗费用户流量。所以客户端存储消息是势在必行的。如何存储呢上一篇文章也写了,大概就是浏览器的话是localStorage或者IndexedDB。然…

解决Linux中Eclipse启动时找不到Java环境的问题

按照报错的意思是没有在/usr/local/eclipse/jre/bin/java下找到java环境,我检查了一下eclipse的目录结构发现在/usr/local/eclipse没有jre/bin/java,我的想法是自己建对应文件夹然后软连接到我的java环境 cd /usr/local/eclipse sudo mkdir jre cd jre s…

基于Struts开发物流配送(快递)管理系统

开发工具:EclipseJdkTomcatMySQL数据库

使用Lua编写Wireshark解析ProtoBuf插件

文章目录 Wireshark Protobuf Lua-dissectorStep 1: 获取 WiresharkStep 2: 配置ProtoBuf相关设置添加ProtoBuf查找路径 Step 3 运行和调试Lua代码1. 添加Lua脚本2. 运行和调试 Step 4: 写Lua Dissector代码 :)Step 5(Optional): Decode AsGithub工程地址 Wireshark Protobuf L…

最新潮乎盲盒系统源码,附搭建教程

搭建方法 宝塔创建网站,上传后端程序到根目录,在.env修改数据库账号密码 上传数据库,伪静态thinkphp 运行目录public PHP扩展安装下面的 禁用函数先禁用下面那个,就可以了 前端是uniapp 后台admin 禁用函数putenv、 扩展fileinfo…

python问题:vscode切换环境,pip安装库网络错误

python问题:vscode切换环境,pip安装库网络错误 vscode切换环境pip安装库网络错误 记录一下遇见的python问题。 vscode切换环境 在vscode上面的搜索框输入 > select interpreter然后选择需要的环境。 pip安装库网络错误 用requirements.txt来安装…

【目标检测】原始的 YOLOv1 网络结构(GoogLeNet 作为 backbone 的实现)

现在看网上的很多 YOLOv1 的代码实现,基本都是使用新的 backbone,例如 ResNet 或者 VGG 来实现的,因为这些后面的通用的 backbone 可能比较方便的获得预训练模型,不需要从头开始训练。 但是我就是想看一下,一开始 YOL…

IntelliJ IDEA 面试题及答案整理,最新面试题

IntelliJ IDEA中的插件系统如何工作? IntelliJ IDEA的插件系统工作原理如下: 1、插件架构: IntelliJ IDEA通过插件架构扩展其功能,插件可以添加新的功能或修改现有功能。 2、安装和管理: 通过IDEA内置的插件市场下载…

游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)

游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵) 关键词:游戏微服务架构、游戏服务端热更、模块化解耦、golang 一、前言 众所周知,游戏服务端配置信息热更有几大问题(非lua架构)&…

电脑那个部件坏了或者是哪个软件需要修复来看价钱

电脑维修价格表是多少? 价格取决于计算机的哪个部分损坏或哪个软件需要修复。 由于电脑中的部件非常多,而且会以各种奇怪的方式出现问题,下面我们就来看看具体的充电方法。 电脑维修价格表: 1. 重新安装系统。 安装XP系统通常需…

Tomcat Session 集群 ---------会话保持

一、 负载均衡、反向代理 环境搭建: nginx服务器192.168.246.7 tomcat 1服务器192.168.246.8 tomcat 2服务器192.168.246.9 7-1 nginx服务器搭建 [rootzzcentos1 ~]#systemctl stop firewalld [rootzzcentos1 ~]#setenforce 0 [rootzzcentos1 ~]#yum install …