首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql2000怎么每5行数据产生一个组号

2014-01-05 
sql2000如何每5行数据产生一个组号.sql2000如何每5行数据产生一个组号.数据包含一个自增列,即id从1开始自

sql2000如何每5行数据产生一个组号.
sql2000如何每5行数据产生一个组号.
数据包含一个自增列,即id从1开始自增,要求每5行增加一个组号,
即id从1到为5为group1,id从6到10为group2,11到15为group3...............
[解决办法]
select case when isnull(COUNT(*),0)=5 then 组号+1 else 组号 end from tab
where 组号=(select max(组号) from tab)
group by 组号
[解决办法]
是这样吗:

create table tb(id int identity(1,1),v varchar(10))
go

insert into tb
values('a')
go 21



select *,
       'group'+ cast((id-1) / 5 as varchar) 'group'
from tb
/*
idvgroup
1agroup0
2agroup0
3agroup0
4agroup0
5agroup0
6agroup1
7agroup1
8agroup1
9agroup1
10agroup1
11agroup2
12agroup2
13agroup2
14agroup2
15agroup2
16agroup3
17agroup3
18agroup3
19agroup3
20agroup3
21agroup4
*/

[解决办法]
感觉是Ntile函数?
[解决办法]
一个简单的公式就可以解决了:
(自动编号+4)/5 取整数部分
[解决办法]
先加个自增的列,然后用在自增列上建立个计算的函数
[解决办法]
自增列如果没缺号的
是可以直接把 自增列/5+1 作为组号了
[解决办法]
引用:
一个简单的公式就可以解决了:
(自动编号+4)/5 取整数部分

[解决办法]
我倒是不建议你用T-SQL代码生成,用程序处理或许会好很多。个人愚见

热点排行