日期:2014-05-17 浏览次数:20863 次
SELECT SUBSTR(D15M, 1, 10) AS DDAY,
IP,
COUNT(1) AS AANUM,
SUM(DECODE(SUBSTR(D15M, 11), 15, 1, 0)) MI15,
SUM(DECODE(SUBSTR(D15M, 11), 30, 1, 0)) MI30,
SUM(DECODE(SUBSTR(D15M, 11), 45, 1, 0)) MI45,
SUM(DECODE(SUBSTR(D15M, 11), 00, 1, 0)) MI60
FROM A
GROUP BY SUBSTR(D15M, 1, 10), IP;
------解决方案--------------------
这样?
with t1 as
(
select 2012051211 dtime,'11.140.18.122' ip,2 MI15,null MI30,null MI45,null MI60 from dual
union all
select 2012051211 dtime,'11.140.18.122' ip,null MI15,2 MI30,null MI45,null MI60 from dual
union all
select 2012051211 dtime,'11.140.18.122' ip,null MI15,null MI30,3 MI45,null MI60 from dual
union all
select 2012051211 dtime,'11.140.18.122' ip,null MI15,null MI30,null MI45,4 MI60 from dual
)
select dtime,
ip,
sum(nvl(MI15,0)) d15mi,
sum(nvl(MI30,0)) d30mi,
sum(nvl(MI45,0)) d45mi,
sum(nvl(MI60,0)) d60mi
from t1
group by dtime,ip
DTIME IP MI15 MI30 MI45 MI60
-----------------------------------
1 2012051211 11.140.18.122 2 2 3 4