现在数据库中有一堆数据,我现在要这些数据按月统计,周统计;就是在界面上有客户选择1-4我就要将1,2,3,4的每个人的交易总量,统计出来并且分组;现在具体不确定有几个月,也就是说需要查找多少列是不知道的(选择1-3,就查找3列,选1-6,就查找6列),现在我应该如何解决这个问题,再加上分总统计,真不知道如何让解决,求高手帮助......
表结构:SP_SPID主键编号;SP_ZDHM终端号码;SP_ZFKH支付卡号;SP_JYSJ交易时间;SP_JYJE交易金额;SP_JYLX交易类型;
我现在就是要获得一个时间段如(1-3)就得出:
终端号码|1月交易总金额|2月交易总金额|3月交易总金额|交易类型
SELECTs1.SP_ZDHM,
SUM((CASE date WHEN '2011/06' THEN SP_JYJE ELSE 0 END)) AS '6月',
SUM((CASE date WHEN '2011/10' THEN SP_JYJE ELSE 0 END)) AS '10月'
FROM
(
SELECT SP_ZDHM,SP_JYJE,CONVERT(VARCHAR(7),SP_JYSJ,111) AS date FROM 表名
) AS s1
这时一个简单的列子,动态的话,传入相应的参数即可实现。
灰常感谢!!!