要求查询出每部网络电话的通话次数以及每部网络电话的总通话时长
即是查询出如下结果:
网络电话编号 通话次数 总通话时长
21981052 2 00:01:45
21980021 1 00:00:56
21980389 2 00:02:46
21981056 2 00:00:44
--********************************************************
DECLARE @T TABLE (id INT,网络电话编号 INT,通话时长 VARCHAR(8))
INSERT INTO @T
SELECT 1,21981052,'00:01:19' UNION ALL
SELECT 2,21981052,'00:00:26' UNION ALL
SELECT 3,21980021,'00:00:56' UNION ALL
SELECT 4,21980389,'00:02:05' UNION ALL
SELECT 5,21980389,'00:00:41' UNION ALL
SELECT 6,21981056,'00:00:31' UNION ALL
SELECT 7,21981056,'00:00:13'
SELECT 网络电话编号,COUNT(*) AS 通话次数,
convert(varchar(8),dateadd(ss,SUM(DATEDIFF(ss,0,通话时长)),0),108) 通话时长
FROM @T
GROUP BY 网络电话编号
ORDER BY 网络电话编号
/*
网络电话编号 通话次数 通话时长
----------- ----------- --------
21980021 1 00:00:56
21980389 2 00:02:46
21981052 2 00:01:45
21981056 2 00:00:44
(所影响的行数为 4 行)
*/