设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 5841|回复: 26
打印 上一主题 下一主题

[与其它组件] SQL语句如何写:假如一天24个小时的数据,如何取排名前3位的数据

[复制链接]
跳转到指定楼层
1#
发表于 2007-3-10 07:05:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我做话务分析,1、假如有1个基站,它每天每个小时都有话务量,我想筛选出满足以下条件的基站(一周有三天或以上,每天有3个最高的话务量大于1,并不是一周有9个时段大于1),请问该如何查?

谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
27#
发表于 2008-6-18 21:46:51 | 只看该作者
[:50]
26#
发表于 2007-3-12 00:18:00 | 只看该作者
下面是每个基站每天ST22最大前3位的时段数据

SELECT a.MO_NAME, format(a.CURRDATE,"yyyy-mm-dd") AS [date], a.PERIOD, a.ST22
FROM csc AS a
WHERE (((a.ST22) In (select top 3 [csc.ST22] from csc where csc.MO_NAME=a.MO_NAME and format(csc.CURRDATE,"yyyy-mm-dd")=format(a.CURRDATE,"yyyy-mm-dd") ORDER BY csc.ST22 DESC)))

你可以仿照修改
25#
 楼主| 发表于 2007-3-11 23:39:00 | 只看该作者

其实就是列每个基站的最高的三个话务量,在统计这三个话务量时段的信道阻塞率,不要写一天三次,只要稍微在上面的语句帮我改一下就好了,我就是不会用你教我的(SELECT TOP 3 .....)语句。
24#
发表于 2007-3-11 23:16:00 | 只看该作者
先要把具体要求说一下,要了解你的意图才能修改
23#
 楼主| 发表于 2007-3-11 23:13:00 | 只看该作者

高!有点晕

够我去领会了。两个问题,1、NZ是什么意思,怎么用?

2、帮我把下面的语句加个限制条件,既 round([ST22]/3600,4) AS 话务量 排名前3位,你上次教我的套上去我用不好:

SELECT csc.MO_NAME, [channel], Format([CURRDATE],"yyyy/mm/dd") AS [date], [period], round([ST22]/3600,4) AS 话务量, iif(([st6]+[st7])>0,round(([st8])/([st6]+[st7]),4)) AS 信道阻塞率
FROM csc, cm_cell_info
WHERE csc.mo_name=cm_cell_info.name And ST7>10 And IIf(([st6]+[st7])>0,round(([st8])/([st6]+[st7]),4))>=0.3 And POWER="500mw"
ORDER BY [MO_NAME], Format([CURRDATE],"yyyy/mm/dd"), [period];

再次表示感谢!
22#
发表于 2007-3-11 22:54:00 | 只看该作者
整合为一个查询


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
21#
 楼主| 发表于 2007-3-11 17:35:00 | 只看该作者

不倒翁,你的语句提示有错误

语法错误(操作符丢失)在查询表达式“count(([ST22]/3600)=16 and count(次数)>=3
ORDER BY [MO_NAME]”中
20#
 楼主| 发表于 2007-3-11 17:17:00 | 只看该作者

呵呵,谢谢你

等下我试一下结果看。另外你说的NZ函数是怎么用,假如上述ST22/3600换成ST22/ST18,而要避免ST18=0的错误,帮我列一下。另外我在有的SQL语句上看到iif(ST18+ST20)>0是什么语句,做何解释,如何用,谢谢。
19#
发表于 2007-3-11 17:04:00 | 只看该作者
SELECT [MO_NAME], Format([CURRDATE],"yyyy/mm/dd") AS [date], count([ST22]/3600) AS 次数
FROM CSC
WHERE [ST22]/3600)<1 And PERIOD>=9
GROUP BY [MO_NAME], [date]
HAVING count(([ST22]/3600)=16 and count(次数)>=3
ORDER BY [MO_NAME];

避免余数为0可以用nz函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 00:21 , Processed in 0.098376 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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