MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 5722|回复: 2
打印 上一主题 下一主题

求sql查询统计数据,实在想不出来,没辙了.

[复制链接]
1#
发表于 2007-11-6 17:45:17 | 显示全部楼层
假设你的表叫 TEL

语句为:

SELECT tp1.日期, tp1.总通话量,  tp2.拨入电话, tp3.拨出电话
FROM
( SELECT DATE(t1.插入时间) as 日期, count(t1.id) as 总通话量 FROM TEL t1
  WHERE t1.插入时间 > '2007-11-01 00:00:00' AND t1.插入时间 < '2007-12-01 00:00:00'
GROUP BY DATE(t1.插入时间) ) tp1,
( SELECT DATE(t2.插入时间) as 日期, count(t2.id) as 拨入电话 FROM TEL t2
  WHERE t2.插入时间 > '2007-11-01 00:00:00' AND t2.插入时间 < '2007-12-01 00:00:00'  AND t2.通话类型 = '拨入'
GROUP BY DATE(t2.插入时间) ) tp2,
( SELECT DATE(t3.插入时间) as 日期, count(t3.id) as 拨出电话 FROM TEL t3
  WHERE t3.插入时间 > '2007-11-01 00:00:00' AND t3.插入时间 < '2007-12-01 00:00:00'  AND t3.通话类型 = '拨出'
GROUP BY DATE(t3.插入时间) ) tp3
WHERE tp1.日期 = tp2.日期 and tp1.日期 = tp3.日期 ;

这种写法效率是个问题,结果集如果很大的话,会很慢的。希望对你有帮助。

[ 本帖最后由 edwin_chen 于 2007-11-6 17:46 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-5-19 06:58 , Processed in 0.062836 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表