我有一个名为Call_Data表和数据的样子:获取时间间隔的计数
Arr_Date Interval AN_Time AB_Time
08/08/2011 1600 113 NULL
08/08/2011 1400 317 NULL
08/09/2011 1200 298 NULL
08/09/2011 1000 NULL 194
08/10/2011 1200 256 NULL
08/10/2011 1400 NULL 132
我期待得到这样的输出:
Arr_Date Total_calls AN_10_min AN_5_min AB_10_Min AB_5_min
08/08/2011 2 2 1 0 0
08/09/2011 2 1 1 1 1
08/10/2011 2 1 1 1 1
逻辑是列AN_Time,AB_Time以秒为单位。我想要统计每个列的每10分钟和5分钟范围内的呼叫数量。
我写了这样的事情:
SELECT ARR_date,
CASE WHEN AN_TIME <300 THEN 1 ELSE 0 END AS AN_5_min ,
case WHEN AN_TIME <600 THEN 1 ELSE 0 END AS AN_10_min,
CASE WHEN AB_TIME <300 THEN 1 ELSE 0 END AS AB_5_min ,
case WHEN AB_TIME <600 THEN 1 ELSE 0 END AS AB_10_min
FROM Call_Data
GROUP BY AR_Date,AN_TIME,AB_TIME
但这并不GICE我电话的总numbe。谁能帮我?
有两个问题:(1)为什么子查询? (2)Total_Calls列在哪里? –
(1)有时看起来更容易扩展(2)将Count(*)OVER(PARTITION by ARR_Date)添加为Total_Calls,“应该得到总计 –