[求助]求助一个SQL语句的写法
请问各位前辈,在一个表中,busername代表学生, school代表学校,bfenshuduan代表分数段,其中school是从上一页传过来的数据,我想求得在这一个学校中分数段值相同的学生数,那么这个查询语句要如何来写,我下面的语句的问号部分应该添写什么呢?分数段的值该如何来获取呢,这个值不能是指定的,所以不能从上一页传递,只能计算bfenshuduan字段中相同值的和,谢谢各位:),请指点迷津
set rs2=conn.execute("select count(busername) as b from userinfo where school='"&request("sid")&"' and bfenshuduan=????????")
问题点数:0、回复次数:8Top
1 楼zarge(鲨去来兮)回复于 2005-02-01 22:25:43 得分 0
set rs2=conn.execute("select bfenshuduan, count(busername) as b from userinfo where school='"&request("sid")&"' group by bfenshuduan")
Top
2 楼passionke(每一步都改变未来,却只能有一种结局!)回复于 2005-02-01 22:27:12 得分 0
select count(busername) as b from userinfo where school='"&request("sid")&"' group by bfenshuduanTop
3 楼icejd()回复于 2005-02-01 22:42:21 得分 0
不行啊,还是搞不定,字段里是有相同的数据的,可是在页上出来却都成了一个,完整页面代码如下,请前辈们参考
<!-- #Include File=../sys.asp -->
<!-- #Include File=../sys/inc/prompt.inc -->
<%
response.buffer=true
Response.Expires=0
call conned()
'取得学校信息函数
Function getschoolinfo(ssid,showtype)
if ssid="" or showtype="" then exit function
dim rs,rs2
set rs = conn.execute("select sname,renshu from school where sname='"&request("sid")&"'")
if not (rs.eof and rs.bof) then
select case showtype
case 1 getschoolinfo = rs(0) '取得学校名称
case 2 getschoolinfo = rs(1) '招生人数
case 3 '取得参加此学校的最高和高低分
set rs2=conn.execute("select max(boicq),min(boicq) from userinfo where brlword='"&request("sid")&"'")
if not (rs2.eof and rs2.bof) then
getschoolinfo = rs2(0)&"/"&rs2(1) '取得最高分和最低分,用/分离
end if
case 4 '最得平均分
set rs2=conn.execute("select avg(boicq) from userinfo where brlword='"&request("sid")&"'")
getschoolinfo = rs2(0)
case 5 '取得本学校各个不同分数段的人数
set rs2=conn.execute("select count(busername) as b from userinfo where brlword='"&request("sid")&"' group by bfenshuduan")
getschoolinfo = rs2(0)
end select
end if
set rs=nothing
End Function
%>
<style type="text/css">
<!--
.style1 {color: #FF0000}
-->
</style>
<center>
<div align="center">
<table width="100%" border="1" cellspacing="2" cellpadding="2">
<tr align="center">
<td colspan="2"><%=request("sid")%></td>
</tr>
<tr>
<td>分数段</td>
<td> 参加人数</td>
</tr>
<%dim rs3,pm3
pm3 = 0
sql3 = "select distinct brlword,bfenshuduan from userinfo where brlword='"&request("sid")&"'"
set rs3 = conn.execute(sql3)
'set rs3 = conn.execute("select * from userinfo where bfenshuduan='"&fenshuduan&"' order by id")
do while not rs3.eof
pm3 = pm3 +1%>
<tr><td><%=rs3("bfenshuduan")%></td>
<td><%=getschoolinfo(request("sid"),5)%></td>
</tr>
<%rs3.movenext
loop
%>
</table>Top
4 楼icejd()回复于 2005-02-01 23:57:45 得分 0
顶上Top
5 楼daijingjie2002(艰苦创业)回复于 2005-02-02 08:44:11 得分 0
set rs2=conn.execute("select bfenshuduan, count(busername) as b from userinfo where school='"&request("sid")&"' group by bfenshuduan")Top
6 楼jinjazz(近身剪)回复于 2005-02-02 09:41:31 得分 0
:)Top
7 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-02-02 10:01:39 得分 0
不行啊,还是搞不定,字段里是有相同的数据的,可是在页上出来却都成了一个
--------------------------------------------------------------------
sql3="select distinct brlword,bfenshuduan from userinfo where brlword='"&request("sid")&"'"
楼主使用了distinct,自然将brlword,bfenshuduan 重复的记录都过滤掉了,如果不需要过滤,去掉distinct关键字即可。
Top
8 楼icejd()回复于 2005-02-02 10:19:08 得分 0
不行,如果不过滤,那么所有的记录就都出来了,而后面的记录还是一个Top




