VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 24|回复: 3

分组排序问题和编号问题

[复制链接]

1

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2020-3-1 08:00:01 | 显示全部楼层 |阅读模式
存在表table1 结构如下
CW     Depth1   Depth2  ....
A      2500     2512
B      2511    2513
A      2711    2080
A      2900    2901
B      1153    1787
希望对CW进行分组,按照Depth1进行排序
然后再添加组内的自动编号
如下
CW     Depth1   Depth2   ID   
A      2500     2512     1   
A      2711     2080     2
A      2900     2901     3
B      1153     1787     1
B      2511     2513     2

以上问题用Access如何解决
回复

使用道具 举报

0

主题

11

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2020-5-11 18:15:01 | 显示全部楼层
SELECT *,(select count(*) from a56 where a.cw=cw and a.Depth1>=Depth1) from a56 a order by cw,Depth1
回复

使用道具 举报

0

主题

4

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-5-21 13:30:01 | 显示全部楼层
declare @temptable table (  
    CW varchar(2) ,  
    Depth1 int,
        Depth2 int  
)  
insert @temptable select 'A',2500,2512
union select 'B',2511,2513
union select 'A',2500,2512
union select 'A',2711,2080
union select 'A',2900,2901
union select 'B',1153,1787


select cw,Depth1,Depth2,ID = (select count(*) from @temptable b where a.depth1 >= b.depth1 and a.cw = b.cw group by cw) from @temptable a  order by cw,Depth1


结果
/*
CW     Depth1   Depth2   ID   
A      2500     2512     1   
A      2711     2080     2
A      2900     2901     3
B      1153     1787     1
B      2511     2513     2
*/
回复

使用道具 举报

1

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
 楼主| 发表于 2020-6-15 19:00:02 | 显示全部楼层
我刚才用了cairui1 提供的方法,可用得到正常得结果,但是好像效率很低,费了至少半分钟才查完了不对200条得数据.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2020|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表