大侠们,帮帮忙啊!我要统计各个数据范围内的数据,然后自动产生以 1 递增的序号比如我在一个表格中能统计出从10 万到20万之间的从大到小排列的数据,然后从最大的开始给编号1
接着下来 2,3,4然后接着统计从5万到10万之间的数据从大到小排列,也重新给编号 1,2,3 ...
都在同一个表格中显示出来,如何实现?
或是sql语言是什么?谢谢!!

解决方案 »

  1.   

    select sum(值) from 表 where 编号 between 1 and 10000
      

  2.   

    用SQL 产生表,先提取前5万的数据,生成自增列,删除前5万行,再生成前5万行的表,again,again,最后把所有的表合并就可以了,一条SQL做不了
      

  3.   

    declare @s int
    set @s=1
    select @s as ii,* into #mydata from 表  where 编号 between 100000 and 200000 desc
    set @s=@s+1
    insert into #mydata select @s as ii,* from 表 where 编号 between 50000 and 100000 desc
    ....
    select * from #mydata在报表的GetValue中写入如果Fieldbyname('ii').asstring='1' then 序号排序,如果为'2'重新排序
      

  4.   

    在button的click事件中键入你的代码嘛?  我都没用过@s是用来干吗的
      

  5.   

    declare @s int
    set @s=1
    select @s as ii,* into #papa from a where 入库金额 between 600 and 1000 order by 入库金额 desc
    set @s=@s+1
    insert into #papa select @s as ii,* from a where 入库金额 between 100 and 500 order by 入库金额 desc
    set @s=@s+1
    select * from a出错了  服务器: 消息 2714,级别 16,状态 6,行 4
    数据库中已存在名为 '#papa' 的对象。
    我在查询分析器测试的时候
      

  6.   

    你如果在调试的时候!不小心按下了运行则系统自动创建了一个临时表,则系统会提示你这个提示的。
    应为#papa是一个临时表,在数据中存在的,你可以先Drop Table #papa一下。
    @s为变量