1193 每月的交易 leetcode 数据库刷题(自己写出)

本文探讨了如何使用SQL解决1193题——每月的交易问题,通过实例解析来提升数据库查询技能。
摘要由CSDN通过智能技术生成

1193 每月的交易
SQL 架构:

create table if not exists Transactions (id int, country varchar(4), state enum('approved', 'declined'), amount int, trans_date date)
Truncate table Transactions
insert into Transactions (id, country, state, amount, trans_date) values ('121', 'US', 'approved', '1000', '2018-12-18')
insert into Transactions (id, country, state, amount, trans_date) values ('122', 'US', 'declined', '2000', '2018-12-19')
insert into Transactions (id, country, state, amount, trans_date) values ('123', 'US', 'approved', '2000', '2019-01-01')
insert into Transactions (id, country, state, amount, trans_date) values ('124', 'DE', 'approved', '2000', '2019-01-07')

在这里插入图片描述

select  a.month ,a.country,count(a.id) as 'trans_count',
#之前一直学习的sum 用法
sum(if(a.state = 'approved',1,0)) as 'approved_count',
sum(amount) as 'trans_total_amount',
sum(if(a.state = 'approved',a.amount,0)) as 'approved_total_amount'
from 
#sunstr 对月份进行切片
(select  id,country,state , amount, substr(trans_date,1,7) as 'month'
from   Transactions)a
#不同月份 ,不同地区/国家
group by a.month,a.country
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值