LeetCode刷题---每月交易I

在这里插入图片描述
在这里插入图片描述
LeetCode官方题解

解题思想:

首先按照日期和国家/地区进行分组
对分组后的结果求解,使用IF函数进行过滤

涉及函数

1.在对日期截取时,使用了MySQL中的DATE_FORMAT函数,将日期转换为指定格式的日期

//2024-03-11,截取为 2024-03-11
DATE_FORMAT('2024-03-11','%Y-%m')
//20240311,截取结果为202403
DATE_FORMAT('20240311','%Y%m')

2.该题配合MySQL中的IF函数进行过滤,IF函数中包含了一个三元表达式,当state不等于approved时,将state赋值为NULL或0。

//求取分组后的批准总数
COUNT(IF(state = 'approved', 1, NULL)) AS approved_count
//求取分组后的金额总数
SUM(IF(state = 'approved', amount, 0)) AS approved_total_amount

完整SQL代码

SELECT DATE_FORMAT(trans_date, '%Y-%m') AS month,
    country,
    COUNT(*) 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

相关推荐

  1. LeetCode】1193. 每月交易 I

    2024-03-12 04:36:01       55 阅读
  2. LeeCode每日12.8

    2024-03-12 04:36:01       51 阅读
  3. LeetCode 每日 ---- 【2923. 找到冠军 I

    2024-03-12 04:36:01       38 阅读
  4. LeetCode 2923. 找到冠军 I——每日

    2024-03-12 04:36:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 04:36:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 04:36:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 04:36:01       82 阅读
  4. Python语言-面向对象

    2024-03-12 04:36:01       91 阅读

热门阅读

  1. 开发指南002-前后端信息交互规范-返回值定义

    2024-03-12 04:36:01       49 阅读
  2. 常用的推荐算法

    2024-03-12 04:36:01       46 阅读
  3. ARM TrustZone技术介绍

    2024-03-12 04:36:01       41 阅读
  4. linux新一代的RPM软件包管理器dnf

    2024-03-12 04:36:01       50 阅读
  5. Linux中basename作用

    2024-03-12 04:36:01       46 阅读
  6. Dutree:Linux 文件系统磁盘使用追踪工具

    2024-03-12 04:36:01       41 阅读