注册 登录
编程论坛 ASP技术论坛

统计使用函数sum,recordcount

ysf0181 发布于 2010-08-23 10:23, 962 次点击
统计使用函数sum,recordcount
统计价格:sum
<%
Set rs=Server.CreateObject("ADODB.Recordset")
rs.open "select sum(价格字段) as price from 表名 order by id desc",conn,1,1  'as就是将统计出来的结果赋值给临时变量price
   response.write rs("price")      '显示统计出来的总价格

rs.close
set rs=nothing
%>

统计总数量:recordcount
<%
Set rs=Server.CreateObject("ADODB.Recordset")
rs.open "select * from 表名 order by id desc",conn,1,1
   response.write rs.recordcount      '显示统计出来的总条数

rs.close
set rs=nothing
%>



select sum(价格字段) as price from 表名  where xingming='"&XXX&"'order by id desc
红色部分不能加的,会计算错误,返回的 response.write rs("price")是空白的,,

这个在顶贴里的错误,,,,,,,,,,,,请版主去修改下吧。
5 回复
#2
hams2010-08-23 15:11
如果是计算总数,没必要排序吧?语句似乎也看不出什么问题。
#3
gupiao1752010-08-23 18:14
sum可以返回好几条记录的总合值!
而你加这个有何意义呢?用like 或 in 也许还能获得几条记录,而用=号那不就是一条了吗,如果记录不存在也许一条都没有,那sum的意义何在呢?
对于这种操作实在不解!
where xingming='"&XXX&"'order by id desc
#4
ysf01812010-08-27 20:45
以下是引用gupiao175在2010-8-23 18:14:18的发言:

sum可以返回好几条记录的总合值!
而你加这个有何意义呢?用like 或 in 也许还能获得几条记录,而用=号那不就是一条了吗,如果记录不存在也许一条都没有,那sum的意义何在呢?
对于这种操作实在不解!
where xingming='"&XXX&"'order by id desc
where xingming='"&XXX&"'order by id desc

红色部分加上去。。sql语句就不执行了。。。  where xingming='"&XXX&"'  加这个条件限制的了。
#5
gupiao1752010-08-28 21:09
where xingming='"&XXX&"'和order by id desc,前面加了sum的时候,这2个不能混合使用!
#6
gupiao1752010-08-28 21:12
同理前面用了count(*)的情况下,where条件和order也不能同时使用!
就像编程语法一样,可以就是可以,不可以就是不可以,没有为什么。硬道理!
1