每日一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): 对分组后的数据按照规则进行累计

相关推荐
小的~~6 分钟前
使用StreamLoad向Doris-4.0.3版本的聚合表导数据超时问题
运维·服务器·数据库
笑梦无境10 分钟前
mysql基础篇一(多年前整理)
数据库·mysql
Yushan Bai11 分钟前
HP-UX平台Oracle启动实例遭遇ORA-27300/ORA-27301/ORA-27302报错
数据库·oracle·ux
山佳的山11 分钟前
Kingbase 身份认证与权限控制实践—数据库安全的第一道防线
数据库
深蓝轨迹16 分钟前
解决Redis排序后MySQL查询乱序问题:从原因到落地(通用版)
数据库·redis·笔记·mysql·bug
jnrjian25 分钟前
预估 PURGE DBA_RECYCLEBIN 执行时间 v$SESSION_LONGOPS 6 秒限制
数据库·dba
尽兴-33 分钟前
Git 分支管理核心命令科普指南
数据库·git·分支管理·代码仓库
XDHCOM35 分钟前
Redis本地化实现策略与应用问题解析,如何配置Redis本地化,常见问题解决
数据库·redis·缓存
RDCJM37 分钟前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
小陈工37 分钟前
Python Web开发入门(一):虚拟环境与依赖管理,从零搭建纯净开发环境
开发语言·前端·数据库·git·python·docker·开源