每日一SQL 【每月交易 I】

文章目录

问题

案例

执行顺序

select,from,where,group by,order by,having, limit执行顺序

使用分组解决

sql 复制代码
select
    date_format(trans_date, '%Y-%m') as month,
    country,
    count(*) as trans_count,
    sum(state = 'approved') as approved_count,
    sum(amount) as trans_total_amount,
    sum(case when state = 'approved' then amount else 0 end) as approved_total_amount
from Transactions
group by date_format(trans_date, '%Y-%m'), country;

解释

date_format: 时间格式化函数

sum(case when...then...else...end): 对分组后的数据按照规则进行累计

相关推荐
若兰幽竹3 小时前
【从零开始编写数据库:基于Python语言实现数据库ToyDB的ACID特性】
数据库·python
宇钶宇夕3 小时前
S7-200 SMART CPU 密码清除全指南:从已知密码到忘记密码的解决方法
运维·服务器·数据库·程序人生·自动化
周杰伦的稻香3 小时前
MySQL密码管理器“mysql_config_editor“
数据库·mysql
云朵大王3 小时前
SQL 视图与事务知识点详解及练习题
java·大数据·数据库
czhc11400756634 小时前
LINUX712 MYSQL;磁盘分区;NFS
数据库·mysql·adb
不太可爱的大白4 小时前
Mysql:分库分表
数据库·mysql
十五年专注C++开发5 小时前
hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
开发语言·数据库·c++·redis·缓存
bianguanyue6 小时前
SQLite密码修改故障排查:RSA加密随机性导致的数据库匹配问题
数据库·sqlite·c#
亚马逊云开发者6 小时前
将 Go 应用从 x86 平台迁移至 Amazon Graviton:场景剖析与最佳实践
linux·数据库·golang
张先shen7 小时前
亿级流量下的缓存架构设计:Redis+Caffeine多级缓存实战
数据库·redis·缓存