表 rcode
如:
ids user type len
12 a 拨入 27
13 b 拨出 47
14 a 拨入 53
15 c 拨出 33
16 a 拨入 47
17 a 拨入 50
18 b 拨出 22
19 a 拨入 11
20 c 拨出 35
21 d 拨入 17
.........................
........................
............................依次为:编号id,用户,类型,时间长度
我要查询的是:任意的用户(可能是一个用户或多个用户一起查询)拨入和拨出的总次数和总通话时间
假设查询的结果:(查询用户a和用户b)
用户 拨入 拨出 总计
a 5次/55秒 3次/65秒 8次/120秒
b 1次/10秒 2次/3秒 3次/13秒请求各位高手帮我想条sql语句。。我用的是MYSQL数据库。。我头都想大了。。但是就是没达到想要的结果
如:
ids user type len
12 a 拨入 27
13 b 拨出 47
14 a 拨入 53
15 c 拨出 33
16 a 拨入 47
17 a 拨入 50
18 b 拨出 22
19 a 拨入 11
20 c 拨出 35
21 d 拨入 17
.........................
........................
............................依次为:编号id,用户,类型,时间长度
我要查询的是:任意的用户(可能是一个用户或多个用户一起查询)拨入和拨出的总次数和总通话时间
假设查询的结果:(查询用户a和用户b)
用户 拨入 拨出 总计
a 5次/55秒 3次/65秒 8次/120秒
b 1次/10秒 2次/3秒 3次/13秒请求各位高手帮我想条sql语句。。我用的是MYSQL数据库。。我头都想大了。。但是就是没达到想要的结果
具体的就不写了 只提供思路
,sum(if(type='拨入',1,0) as 拨入次
,sum(if(type='拨入',len,0) as 拨入秒
,sum(if(type='拨出',1,0) as 拨出次
,sum(if(type='拨出',len,0) as 拨出秒
,sum(1) as 总计次
,sum(len) as 总计秒
from rcode
where `user` in ('a','b')
group by `user`
[align=center]==== 思想重于技巧 ====
[/align]
[align=center]==== 思想重于技巧 ====
[/align]
CONCAT(拨出次,"/",拨出秒) as 拨出,CONCAT(总计次,"/", 总计秒 ) AS 总计
FROM (
select user
,sum(if(type='拨入',1,0)) as 拨入次
,sum(if(type='拨入',len,0)) as 拨入秒
,sum(if(type='拨出',1,0)) as 拨出次
,sum(if(type='拨出',len,0)) as 拨出秒
,count(*) as 总计次
,sum(len) as 总计秒
from tt1
where user in ('a','b')
group by user)