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

相关推荐
丰锋ff3 分钟前
数据库操作的一些相关命令
数据库
往事只能回味味道8 分钟前
MySQL创建数据库并授权指导用户与IP
数据库·tcp/ip·mysql
BUG研究员_27 分钟前
LangChain 向量数据库实战:Redis 与 Pinecone 的知识点总结
数据库·redis·langchain
API快乐传递者36 分钟前
1688 跨境电商 API 接口实战指南:从寻源到代采的全链路技术方案
java·前端·数据库
陈年老古董39 分钟前
Shell 脚本编程基础完整学习笔记
linux·sql·mysql
LabVIEW开发1 小时前
LabVIEW按段拆分TDMS文件的格式边界与重构
开发语言·数据库·重构·labview·labview知识·labview功能·labview程序
程序员-Benothing1 小时前
什么是数据全量同步和增量同步?它们各有什么优缺点?
数据库
秋名山码民1 小时前
拙见AI——AI操作系统
数据库·人工智能
李可以量化1 小时前
Redis Client 从了解到精通(二)上:redis-py 高级用法与核心命令实战
前端·数据库·redis·python·缓存·ptrade
南棱笑笑生2 小时前
20260826在Ubuntu22.04系统下编译眺望Pi-RK3572工业派开发板的Ubuntu系统
数据库