LeetCode(数据库)- 每月交易II

简介: LeetCode(数据库)- 每月交易II

题目链接:点击打开链接

题目大意:略。

解题思路:先将退单表 union all 到交易表,无非是把 state 标记为一个新的状态,比如 cancel,这样两张表可以合并操作,思路就清晰很多。


第二个案例为什么二月份 CB 会没有?


因为此时此地 approved 和 charge 都没有,所以根据题目要求需要过滤掉。


AC 代码

--解决方案(1)
WITHt1AS(SELECT*FROMTransactionsUNIONALLSELECTtrans_id, country, 'cancel'state, amount, c.trans_dateFROMChargebackscJOINTransactionstONc.trans_id=t.id),
t2AS(SELECTDATE_FORMAT(trans_date, '%Y-%m') month, 
country, 
COUNT(IF(state='approved', 1, null)) approved_count,
SUM(IF(state='approved', amount, 0)) approved_amount,
COUNT(IF(state='cancel', 1, null)) chargeback_count,
SUM(IF(state='cancel', amount, 0)) chargeback_amountFROMt1GROUPBYmonth, country)
SELECT*FROMt2WHERE!(approved_count=0ANDchargeback_count=0)
--解决方案(2)
SELECTmonth, country,
COUNT(IF(tag=1, 1, NULL)) ASapproved_count,
SUM(IF(tag=1, amount, 0)) ASapproved_amount,
COUNT(IF(tag=0, 1, NULL)) ASchargeback_count,
SUM(IF(tag=0, amount, 0)) ASchargeback_amountFROM (
SELECTcountry, amount, 1AStag,
date_format(trans_date, '%Y-%m') ASmonthFROMTransactionsWHEREstate='approved'UNIONALLSELECTcountry, amount, 0AStag,
date_format(c.trans_date, '%Y-%m') ASmonthFROMTransactionsAStRIGHTOUTERJOINChargebacksAScONt.id=c.trans_id) AStempGROUPBYmonth, country;
目录
相关文章
|
JavaScript 小程序 Java
医药进出口交易|基于SSM+vue的医药进出口交易系统的设计与实现(源码+数据库+文档)
医药进出口交易|基于SSM+vue的医药进出口交易系统的设计与实现(源码+数据库+文档)
119 10
|
小程序 JavaScript Java
二手交易|校园二手交易小程序|基于微信小程序的闲置物品交易平台设计与实现(源码+数据库+文档)
二手交易|校园二手交易小程序|基于微信小程序的闲置物品交易平台设计与实现(源码+数据库+文档)
826 2
|
存储 安全 Java
基于springboot的校园二手交易平台(程序+数据库+文档)
基于springboot的校园二手交易平台(程序+数据库+文档)
|
SQL
leetcode-SQL-1193. 每月交易 I
leetcode-SQL-1193. 每月交易 I
75 1
|
存储 关系型数据库 分布式数据库
交易峰值场景数据库的性能
在双十一这种交易峰值场景下,数据库的性能面临着极大的挑战。为了应对这一挑战,PolarDB进行了大量的优化工作。
110 4
|
SQL
leetcode-SQL-1581. 进店却未进行过交易的顾客
leetcode-SQL-1581. 进店却未进行过交易的顾客
86 0
|
数据库
数据库LeetCode每日练习(三)
数据库LeetCode每日练习(三)
数据库LeetCode每日练习(三)
|
SQL 数据库
数据库LeetCode每日练习(二)
数据库LeetCode每日练习(二)
数据库LeetCode每日练习(二)
|
SQL 数据库
数据库LeetCode每日练习(一)
数据库LeetCode每日练习(一)
数据库LeetCode每日练习(一)
|
数据库
LeetCode(数据库)- 2142. The Number of Passengers in Each Bus I
LeetCode(数据库)- 2142. The Number of Passengers in Each Bus I
232 0

热门文章

最新文章