ACCESS 前五 统计 条件不相同 降序

freepw 2013-07-01 10:51:18
表:


<table border="0" align="center" cellpadding="0" cellspacing="1" class="TableBorder_1">
<tr>
<td height="30" colspan=3 align="center" class="TableTitle11"><b>不同种类数量最多的前五个站号</b></td>
</tr>
<tr>
<td align="center" class="TableRow2">排序</td>
<td align="center" class="TableRow2">站号</td>
<td align="center" class="TableRow2">数量</td>
</tr>

<%
sql="select top 5 [对应站号],count([种类]) as tj from [拖网卡片数据] where [种类] in (select b.[种类] from [拖网卡片数据] b where [种类]<>b.[种类] ) group by [对应站号] order by count([种类]) desc"
set rs=conn.execute(sql)
a=1
do while not rs.eof
%>

<tr>
<td align="center" class="TableRow2"><%=a%></td>
<td align="center" class="TableRow2"><%=rs("对应站号")%></td>
<td align="center" class="TableRow2"><%=rs("tj")%></td>
</tr>
<%
rs.movenext
a=a+1
loop
set rs=nothing
%>

</table>


上面我搞这个不对。。
...全文
118 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ACMAIN_CHM 2013-07-02
sql="select top 5 * from ( select [对应站号],count([种类]) as tj from [拖网卡片数据] where [种类] in (select b.[种类] from [拖网卡片数据] b where [种类]<>b.[种类] ) group by [对应站号] )order by tj desc"
回复
WWWWA 2013-07-02
用文本贴出记录及要达到的目的
回复
WWWWA 2013-07-02
用文本贴出记录及要达到的目的
回复
freepw 2013-07-02
引用 12 楼 wwwwb 的回复:
当然不对, 在ACCESS中,先运行下述语句,看看结果是否正确 select 对应站号,种类,count(*) as js from tt group by 对应站号,种类 存为VIEW1 SELECT * FROM VIEW1 A1 WHERE 5>(SELECT COUNT(*) FROM VIEW1 WHERE A1.对应站号=对应站号 AND A1.JS<=JS)
试了,结果不是我想要的哪种。应该 是我没有说清楚。我重发了一个帖子,你看一下:http://bbs.csdn.net/topics/390506485
回复
wwwwb 2013-07-02
当然不对, 在ACCESS中,先运行下述语句,看看结果是否正确 select 对应站号,种类,count(*) as js from tt group by 对应站号,种类 存为VIEW1 SELECT * FROM VIEW1 A1 WHERE 5>(SELECT COUNT(*) FROM VIEW1 WHERE A1.对应站号=对应站号 AND A1.JS<=JS)
回复
freepw 2013-07-02
引用 8 楼 wwwwb 的回复:
存为查询,名称VIEW1
sql="SELECT * FROM (select [对应站号],[种类],count(*) as tj from [拖网卡片数据] group by [对应站号],[种类]) as A1 WHERE 5>(SELECT COUNT(*) FROM A1 as B1 WHERE A1.[对应站号]=B1.[对应站号] AND A1.tj<=B1.tj)" 写成这样不对。。
回复
freepw 2013-07-02
引用 8 楼 wwwwb 的回复:
存为查询,名称VIEW1
可以给个完整的?菜鸟一个。谢谢。
回复
freepw 2013-07-02
引用 7 楼 freepw 的回复:
不好意思,存为VIEW1 这个是什么意思。
可以给个完整的?菜鸟一个。谢谢。
回复
wwwwb 2013-07-02
存为查询,名称VIEW1
回复
freepw 2013-07-02
不好意思,存为VIEW1 这个是什么意思。
回复
wwwwb 2013-07-02
select 对应站号,种类,count(*) as js from tt group by 对应站号,种类 存为VIEW1 SELECT * FROM VIEW1 A1 WHERE 5>(SELECT COUNT(*) FROM VIEW1 WHERE A1.对应站号=对应站号 AND A1.JS<=JS)
回复
freepw 2013-07-02
引用 1 楼 WWWWA 的回复:
用文本贴出记录及要达到的目的


就是统计:不同种类数量最多的前五个站号
回复
freepw 2013-07-02
我用了3楼的,还是不行, sql="select top 5 [对应站号],count([种类]) as tj from [拖网卡片数据] where [种类] in (select b.[种类] from [拖网卡片数据] b where [种类]<>b.[种类] ) group by [对应站号] order by count([种类]) desc" 标红的地方有问题。把[种类]改成固定值,就有效果了。我是想实现统计[种类]不相同的个数,以group by [对应站号] 分组。ACCESS的,
回复
相关推荐
发帖
Access
创建于2007-09-28

7516

社区成员

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
申请成为版主
帖子事件
创建了帖子
2013-07-01 10:51
社区公告
暂无公告