【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))

写法一

selectconcat(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 的用户

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

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

相关文章

Java设计模式 | 设计模式概述和分类

独孤求败五重境界 利剑(“凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋。”)软剑(“紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。”)重剑(“重剑无锋&a…

宜搭faas服务器获取accessToken

可以用faas服务器的OpenAPIUtil.getCustomAccessTokenThenCache(Client ID,Client Secret)就可以获取 至于获取这个Client ID,Client Secret 就需要在钉钉开放平台创建一个应用 然后在这个应用的基础信息里面有 注意的是:如果需要…

「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架

文章目录 关于 | About技术文档 | Document开源项目 | Project 案例 | Demo项目结构 | Structure主程序配置集成 | Settings引入框架依赖 | Framework在配置文件加入配置 | YamlSpringBoot启动类改引导类 | Change 插件配置集成 | Settings引入依赖 | XML定义插件引导类 | Clas…

Java并发编程—JUC线程池架构

Java并发编程(JUC,Java Utilities Concurrency)中的线程池架构是Java提供的一种用于管理和复用线程的机制。线程池的主要目标是减少线程创建和销毁的开销,提高系统的响应速度,并通过合理的线程管理和资源分配&#xff…

JUnit 面试题及答案整理,最新面试题

JUnit中的断言(Assert)有哪些类型? JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括: 1、assertEquals: 用于检查两个值是否相等。如果不相等,测试失败。 2、assertTrue和assertFal…

数据结构的概念大合集05(串)

概念大合集05 1、串的相关定义2、串的基本运算3、串的顺序存储结构3.1 顺序串 4、串的链式存储结构4.1 链串 1、串的相关定义 串是有零个户多个字符组成的有限序列,比如字符串。用 “ ” 或 ‘ ’ 来表示串。两个串相等:当且仅当这两个串的长度相等并且…

sqllab第二十五A关通关笔记

知识点: 数值型注入双写绕过 oorranand这里不能用错误注入(固定错误回显信息)联合注入 测试发现跟25关好像一样,就是过滤了and or # 等东西 构造payload:id1/0 发现成功运算了,这是一个数值型的注入 构造payload:id…

高效使用 JMeter 生成随机数:探索 Random 和 UUID 算法

在压力测试中,经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值,本文来具体介绍一下。 随机数函数 JMeter 提供了多个用于生成随机数的函数,其中最常用的是__Random函数。该函数可以生成一个指定范围内的随机整数或浮…

薄膜电容的工作原理,结构特点,工艺流程,选型参数及设计注意事项总结

🏡《总目录》 目录 1,概述2,工作原理3,结构特点4,工艺流程4.1,材料准备4.2,介质薄膜处理4.3,电极制作4.4,卷绕或堆叠4.5,焊接与引出线制作4.6,封装与保护4.7,测试与筛选4.8,老化与稳定性测试4.9,最终测试与标记

瑞_Redis_短信登录(二)

文章目录 项目介绍1.1 项目准备1.2 基于Session实现登录流程1.2.1 发送短信验证码1.2.2 短信验证码登录、注册1.2.3 校验登录状态 1.3 实现发送短信验证码功能1.3.1 页面流程1.3.2 代码实现 1.41.51.6 🙊 前言:本文章为瑞_系列专栏之《Redis》的实战篇的…

Android init.rc 解析

init.rc 文件是 Android 系统中非常重要的一部分,它定义了系统在启动过程中的行为和服务的初始化顺序。在 RK3566 Android 11 的环境中,init.rc 文件的结构和语法与其他 Android 版本大致相同。下面我将逐句解释 init.rc 文件中的典型内容: …

lua脚本的基础内容

官方地址:http://luajit.org/ 官方wiki地址:http://wiki.luajit.org/Home 推荐书籍: OpenResty 最佳实践:https://moonbingbing.gitbooks.io/openresty-best-practices/content/ lua基础文档:https://www.runoob.com/l…

深入理解生成型大型语言模型:自监督预训练、细调与对齐过程及其应用

分析概述 本文主要介绍了生成型大型语言模型(LLM)的预训练过程,特别是通过下一个令牌(token)预测的自监督学习方法,以及后续的细调(finetuning)和对齐(alignment&#x…

【网络】负载均衡

OSI模型每一层的负载均衡 在OSI模型中,每一层的负载均衡具体如下: 1. 第二层(数据链路层):数据链路层的负载均衡通常涉及对MAC地址的操作。在这一层,可以使用虚拟MAC地址技术,外部设备对虚拟MA…

【SQL Server】实验七 数据完整性

1 实验目的 掌握实体完整性、参照完整性和用户自定义完整性约束的创建方法。掌握完整性约束的运行检查机制。掌握参照完整性的级联删除和修改方法。掌握正确设计关系模式完整性约束的方法。 2 实验内容 2.1 掌握实体完整性约束的创建和使用方法 创建表时定义由一个属性组成…

解决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…

将OpenCV与gcc和CMake结合使用

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

论文篇00-【历年论文真题考点汇总】与【历年论文原题2009~2023年文字版记录】(2024年软考高级系统架构设计师冲刺知识点总结-论文篇-先导篇)

专栏系列文章推荐: 案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】 综合知识篇00-综合知识考点汇总目录 ...... 历年真题论文题考点汇总 历年软考系统架构设计师论文原题(2009-2022年) 因最新的2023年目前仅能搜索到回忆版,等楼主搜集到…

关于数据通信知识的补充——第二篇

目录 四.二层交换机 5.实现不同vlan通信的原理 方法一:路由器网关 方法二:单臂路由 方法三:三层交换机 五.三层路由技术 (1)直连路由 (2)静态路由 (3)动态路由 …

go的fasthttp学习

背景介绍 fasthttp was designed for some high performance edge cases. Unless your server/client needs to handle thousands of small to medium requests per second and needs a consistent low millisecond response time fasthttp might not be for you. For most ca…