以下寫法主要是基於oracle的分析函數 row_number(),如需要具體了解,請百度,
當然sql server 2008以上也是有的,自己研究
如下語句能夠按妳的意思能夠排出A,B,C,D,E,F,但是名字不能重命,最好找壹個唯壹索引來排,假設有壹個學號 uid
select class,name,chr(ascii('A')+trunc((rownumber-1)/10)),rownumber from (
select row_number() over(partition by class order by name) as rownumber,a.class,a.name from student a
) c
如下是更新語句
update student b
set b.lei =
(select chr(ascii('A')+trunc((rownumber-1)/10)),rownumber from (
select row_number() over(partition by class order by name) as rownumber,a.uid,a.class,a.name from student a
) c
where c.class = b.class and c.uid = b.uid
)