一个 数据库查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 19:37:39
日期 姓名 金额
2008-1-12 sun 100
2008-1-12 张 100
2008-1-13 sun 100
2008-1-19 张 300
2008-2-12 sun 120
2008-2-19 张 300
2008-3-12 sun 130
得到的查询结果:
姓名 2008-01 2008-02 2008-03
sun 200 120 130
张 400 300
请写出查询语句,提示:分组、求和。
我用的 是MYsql数据库

select 姓名,
2008-01=
sum(case when 日期='2008-01'
then 金额 else 0 end),
2008-02=
sum(case when 日期='2008-01'='2008-02'
then 金额 else 0 end),
2008-03=
sum(case when 日期='2008-01' '2008-03'
then 金额 else 0 end)
from 表
group by 姓名

select 姓名,
sum(case when date_format(日期,'%Y-%m')='2008-01'
then 金额 else 0 end),
sum(case when date_format(日期,'%Y-%m')='2008-02'
then 金额 else 0 end),
sum(case when date_format(日期,'%Y-%m')='2008-03'
then 金额 else 0 end)
from 表
group by 姓名