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

相关推荐
橘子13几秒前
MySQL连接(十四)
数据库·mysql
m0_706653232 分钟前
用Python创建一个Discord聊天机器人
jvm·数据库·python
渡我白衣12 分钟前
【MySQL基础】(2):数据库基础概念
数据库·人工智能·深度学习·神经网络·mysql·机器学习·自然语言处理
alien爱吃蛋挞19 分钟前
【JavaEE】万字详解Mybatis(上)
数据库·java-ee·mybatis
写代码的【黑咖啡】19 分钟前
HiveSQL 语法详解与常用 SQL 写法实战
数据库·sql
黄筱筱筱筱筱筱筱23 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
怣5027 分钟前
MySQL WHERE子句完全指南:精准过滤数据的艺术
数据库·mysql
大鳥31 分钟前
第一章 - 数据仓库是什么
大数据·数据库·hive
愤怒的苹果ext2 小时前
flink-sql-connector-elasticsearch8兼容Flink SQL同步到Elasticsearch8.18.8
sql·flink·es8
u0109272713 小时前
RESTful API设计最佳实践(Python版)
jvm·数据库·python