求助查询统计功能

hld5511 2011-04-29 09:47:16
数据库表 A 中有字段 A1 A2

A1是姓名,A2是销售额

A1 A2
李一 200
张二 300
李一 200
李一 200



如何实现 以 “姓名” 为标准的“销售额”排名

最终效果如下

李一 600
张二 200




...全文
102 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
hld5511 2011-04-29
  • 打赏
  • 举报
回复
谢谢,有空我新加个字段。
省得以后麻烦。
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
不过,要计算的字段最好还是设计为数值型,否则会有很多麻烦
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
val是返回数字,并非数值
cint是将字符串强制转换成整型数值

其实数字型的字符串也是可以sum的,主要是你的A2中有空格
如果能保证没有空格和空值,你可以去掉cint试试
hld5511 2011-04-29
  • 打赏
  • 举报
回复
cint

val
哪个好一些?
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
select A1,sum(cint(A2)) as A2 from A group by A1 order by sum(cint(A2)) desc
然后用rs("A2")也可以
hld5511 2011-04-29
  • 打赏
  • 举报
回复
非常感谢,我以前没有用过 rs(0) rs(1) 这种方法。
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
数据库连接..
<%
sql="select A1,sum(cint(A2)) from A group by A1 order by sum(cint(A2)) desc"
conn.execute(sql)
do while not rs.eof
response.write rs(0) & " " & rs(1) & "<br>"
re.movenext
loop
rs.close
set rs=nothing
%>
hld5511 2011-04-29
  • 打赏
  • 举报
回复
我把A2里面所有的文本全删了,现在好用了。
但还有个问题
显示数据里的 A2如何列出

李一 600
张二 200

600和200如何能列出来? 我当前的显示“在对应所需名称或序数的集合中,未找到项目。“
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
不可能啊
你的A2里面肯定有空值、空格之类的,仔细检查一下
hld5511 2011-04-29
  • 打赏
  • 举报
回复
没有空值,还是不区配
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
A2里面是不是有空值?
hld5511 2011-04-29
  • 打赏
  • 举报
回复
还是不区配。
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
select A1,sum(cint(A2)) from A group by A1 order by sum(cint(A2)) desc
hld5511 2011-04-29
  • 打赏
  • 举报
回复
ACCESS
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
啥子数据库
hld5511 2011-04-29
  • 打赏
  • 举报
回复
这个字段是通用的,能不能加引号在查询中转换成数值型?
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
把A2改成数值型
hld5511 2011-04-29
  • 打赏
  • 举报
回复
A2 A2 全是文本型
lzp4881 2011-04-29
  • 打赏
  • 举报
回复
贴一下你的数据库结构
hld5511 2011-04-29
  • 打赏
  • 举报
回复
标准表达式中数据类型不匹配。

加载更多回复(1)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧