create table studentreg(id int indentity,rollno int identity,name varchar(5),name varchar(50),class varchar(3)identity,sec varchar(3)identity)
id rollno name class sec
1 101 John I A
2 101 Smith I B
3 101 Michael II A
4 102 Johnson I A
问题:
我想在不输入的情况下自动生成rollno(我的意思是内部)。我知道这可能是身份。但我想为Class I,Sec A生成rollno(从101开始,以1为增量),再生成Class I,Sec B(再次从101开始,以1为增量)。像其他课程一样秒。您可以通过上面的图表更好地理解。
答案 0 :(得分:0)
试试这个..
SELECT Row_number() OVER(partition BY class, sec ORDER BY NAME) + 100 roll_no,
id,
NAME,
class,
sec
FROM tablename