CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

sql语句怎么写

楼主wangfei2428(龙飞)2002-04-25 08:45:23 在 Web 开发 / ASP 提问

表temp  
  id   产品名   数量     金额  
          a               2         100  
          b               1         200  
          c               3         300  
          b               2         400  
          b               4         800  
          a               1         50  
          c               2         200  
          .....  
   
  求累积销售金额最多的前四名产品,sql语句怎么写(用一条sql语句,可以用子查询),要求显示产品名与相对应的累积销售金额  
  问题点数:50、回复次数:28Top

1 楼jxwangzhigang(一棵草)回复于 2002-04-25 08:48:17 得分 0

select   top   4   max(金额),产品名   form   temp   order   by   id  
  应该可以拉Top

2 楼ChinaOk(农村表哥)回复于 2002-04-25 08:48:27 得分 0

关注  
  Top

3 楼wangfei2428(龙飞)回复于 2002-04-25 08:51:00 得分 0

to   :jxwangzhigang(一棵草)  
   
  select   top   4   max(金额),产品名   form   temp   order   by   id  
  不对,您这个不是累积,而是取销售金额最大的前四名Top

4 楼jxwangzhigang(一棵草)回复于 2002-04-25 08:51:31 得分 0

对不起是这样的  
  select   top   4   max(金额),产品名   form   temp   group   by   id  
  应该可以拉  
   
  Top

5 楼wangfei2428(龙飞)回复于 2002-04-25 08:54:08 得分 0

group   by   id  
  您是按ID分组,不行,而产品在表中是有重复的,应该group   by   产品吧  
  Top

6 楼liangxuan1979(不贪)回复于 2002-04-25 08:59:45 得分 0

select   top   4   id,Sum(金额)   as   TotalMoney   from   temp   group   by   id   order   by   TotalMoney   desc  
   
  绝对正确!Top

7 楼jxwangzhigang(一棵草)回复于 2002-04-25 09:00:26 得分 0

对!是按产品分组!刚刚写错拉Top

8 楼ChinaOk(农村表哥)回复于 2002-04-25 09:03:39 得分 0

不行,要得不是这个结果。室汇总以后的Top

9 楼wangfei2428(龙飞)回复于 2002-04-25 09:08:17 得分 0

首先,产品在记录中有重复记录  
  其次,汇总金额最对的前四名产品  
   
  select   top   4   id,Sum(金额)   as   TotalMoney   from   temp   group   by   id   order   by   TotalMoney   desc  
   
  不对,提示“参数期待为1”  
  而且得不到产品的值Top

10 楼jxwangzhigang(一棵草)回复于 2002-04-25 09:10:53 得分 5

select   top   4   id,Sum(金额)   as   TotalMoney   from   temp   group   by   产品名称   order   by   TotalMoney   desc  
  这样呢?Top

11 楼liangxuan1979(不贪)回复于 2002-04-25 09:14:16 得分 0

你要把什么叫产品的值说清楚!!  
   
  另外:你在哪里测试的说提示“参数期待为1”??  
   
  我的Sum(金额)   中的“金额”是你表中的第三个Colum。而且它必须为数值型变量。    
  Top

12 楼liangxuan1979(不贪)回复于 2002-04-25 09:15:15 得分 0

我把ID当作产品名称了Top

13 楼wangfei2428(龙飞)回复于 2002-04-25 09:15:15 得分 0

不对,id与合计函数是不能放在一起的,提示  
  “合计函数不包括id”Top

14 楼wangfei2428(龙飞)回复于 2002-04-25 09:17:56 得分 0

金额肯定是数值型Top

15 楼liangxuan1979(不贪)回复于 2002-04-25 09:18:12 得分 0

我测试了可以,为什么你做的不行呢?  
  你干脆把你的数据库表完整地写出来吧!(每个字段名,及类型)Top

16 楼hiflash(小郑)回复于 2002-04-25 09:24:09 得分 0

“金额”是不是数据类型呢?  
   
  Top

17 楼wangfei2428(龙飞)回复于 2002-04-25 09:25:49 得分 0

我的数据库就怎么简单  
  id                       自动编号  
  productname     字符型  
  total                 数值型  
   
  Top

18 楼liangxuan1979(不贪)回复于 2002-04-25 09:29:13 得分 0

你干吗不早点说清楚:  
  select   top   4   productname,Sum(total)   as   TotalMoney   from   temp   group   by   productname   order   by   TotalMoney   descTop

19 楼wangfei2428(龙飞)回复于 2002-04-25 09:33:18 得分 0

我按照您的语句试过,提示  
  “参数不足,期待为1"Top

20 楼phoenixlj(旭毅)回复于 2002-04-25 09:37:56 得分 0

select   top   4   productname,total=sum(total)   from   temp   group   by   productnameTop

21 楼liangxuan1979(不贪)回复于 2002-04-25 09:38:10 得分 0

你在哪里测试的,你的是什么数据库?  
  我在SQL   Server里测试了是正确的!  
  你最好把你表里的数据列部分出来给我看看!  
  象这样:  
  id                     productname                                           total                
  -----------   -----------------------------   -----------    
  1                       a                                                             100  
  2                       b                                                             300  
  3                       c                                                             500  
  4                       d                                                             500  
  5                       e                                                             200  
  6                       f                                                             300  
  7                       a                                                             300  
  8                       a                                                             300  
  9                       b                                                             500  
  10                     c                                                             500Top

22 楼wangfei2428(龙飞)回复于 2002-04-25 09:44:52 得分 0

access   2000与sql2000我都试过.  
  id kind               productname     total  
  998 仙人掌漆     裂纹漆透明底 200  
  999 仙人掌漆     裂纹天那水 200  
  1000 仙人掌漆       610-099 200  
  1001 仙人掌漆       213天那水 200  
  1002 仙人掌漆       213天那水 200Top

23 楼wangfei2428(龙飞)回复于 2002-04-25 09:48:40 得分 0

select   top   4   productname,total=sum(total)   from   temp   group   by   productname  
   
  不对,total=sum(total)格式不对Top

24 楼liangxuan1979(不贪)回复于 2002-04-25 09:51:31 得分 0

老兄,我用你的表测试了一下,还是没问题啊!Top

25 楼wangfei2428(龙飞)回复于 2002-04-25 09:52:47 得分 0

真的吗,您用的是sql服务器吗  
  Top

26 楼liangxuan1979(不贪)回复于 2002-04-25 09:56:05 得分 45

这是我在SQL   Server里用  
  select   top   4   productname,Sum(total)   as   TotalMoney   from   temp   group   by   productname   order   by   TotalMoney   desc  
   
  查出的结果:  
  productname                                                                                 TotalMoney      
  --------------------------------------------------   -----------    
  213天那                                                                                             700  
  610-099                                                                                         500  
  裂纹天那水                                                                                             300  
  裂纹漆透明底                                                                                           100  
   
  (4   row(s)   affected)  
   
  如果不行,那我也没办法了。  
  我在怀疑,你小子是不是在愚弄我!  
  Top

27 楼wangfei2428(龙飞)回复于 2002-04-25 09:59:35 得分 0

对不起,我没有愚弄您,先谢谢那  
  我先自己试试Top

28 楼wangfei2428(龙飞)回复于 2002-04-25 10:39:41 得分 0

sql  
   
  select   top   4   productname,Sum(total)   as   TotalMoney   from   temp   group   by   productname   order   by   TotalMoney   desc  
   
  access  
   
  select   top   4   productname,Sum(total)   as   TotalMoney   from   temp   group   by   productname   order   by   Sum(total)   desc  
   
  我调试成功,谢谢各位,散分感谢Top

相关问题

  • sql语句怎么写?
  • SQL语句怎么写啊~~
  • sql语句怎么写?
  • sql语句怎么写
  • SQL语句怎么写
  • SQL语句怎么写呀
  • sql语句怎么写
  • 怎么写SQL语句
  • 写SQL语句???
  • 初学SQL语句,这样的语句怎么写?

关键词

  • 语句
  • 测试
  • 数据库
  • top
  • sql
  • totalmoney
  • 金额
  • productname
  • 仙人掌漆
  • 产品

得分解答快速导航

  • 帖主:wangfei2428
  • jxwangzhigang
  • liangxuan1979

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo