日期:2014-05-17  浏览次数:20716 次

请问一个SQL
表名 USER,字段TIMEID(bigint类型,表示时间),OUTNUM(INT类型,表示流出数量),INNUM(INT类型,表示流入数量),WAY(INT类型,表示方式,分为1,2,3,4)

要按时间统计出每一种方式(1,2,3,4)的流出数量和流入数量,请教高手!

------解决方案--------------------
select
sum(case when WAY=1 then OUTNUM else null end) WayOut1,
sum(case when WAY=1 then INNUM else null end) WayIn2,
sum(case when WAY=2 then OUTNUM else null end) WayOut3
from USER WHERE TIMEID>123
------解决方案--------------------
用Group By就行了吧?

Select timeid, way, SUM(outnum), SUM(INNUM)
From user
Group By timeid, way

但如果你是要按照分钟或者小时的话,要对timeid做计算。
------解决方案--------------------
探讨

引用:
这个不能满足我的要求,我要计算出每一天中,way字段里面分别为1,2,3,4的量


无法理解为啥不能满足要求,能给出你心中理想的统计结果的样子么?