首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一句SQL语句解决方案

2012-03-28 
求一句SQL语句有下面的数据,要求统计成为下列格式table1日期点数用户数张数2007-09-24100112007-09-242001

求一句SQL语句
有下面的数据,要求统计成为下列格式   table1
日期                         点数         用户数     张数
2007-09-2410011
2007-09-2420011
2007-09-2420011
2007-09-2430011
2007-09-2430011
2007-09-2430011
2007-09-2430011
2007-09-2464011
2007-09-2464013
2007-09-2464011
2007-09-2464022
2007-09-2464014
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464022
2007-09-2464011
2007-09-2464011
2007-09-2464012
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464012
2007-09-2464012
2007-09-2464012
2007-09-2464011
2007-09-2464011
2007-09-2464012
2007-09-2464011
2007-09-2464012
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464013
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464011
2007-09-2464022
2007-09-2464011
2007-09-2464011
2007-09-24108011
2007-09-24108011
2007-09-24108011
2007-09-24108011


Date                 ¥5(100point)     ¥10(200point)     ¥15(300point)     ¥30(640point)     ¥50(1080point)  
 
2007-09-24       1                             2                             4                               49                               4

[解决办法]
--如果日期是datatime类型

select convert(varchar(10),日期,120) 日期,
sum(case 点数 when 100 then 用户数*张数 else 0 end) '¥5(100point) ',
sum(case 点数 when 200 then 用户数*张数 else 0 end) '¥10(200point) ',
sum(case 点数 when 300 then 用户数*张数 else 0 end) '¥15(300point) ',
sum(case 点数 when 640 then 用户数*张数 else 0 end) '¥30(640point) ',
sum(case 点数 when 1080 then 用户数*张数 else 0 end) '¥50(1080point) '
from tb
group by convert(varchar(10),日期,120)

热点排行