在mysql中创建存储过程以在每个批处理中生成卷号

时间:2013-06-19 07:27:45

标签: mysql sql select stored-procedures sql-order-by

我创建了包含列id,名称,批处理,rollnumber

的用户表

我想创建一个存储过程,每个批次都会生成卷号。

假设我有100名学生和5批(A,B,C,D,E)。

每批次应生成1-20号卷号。

提前谢谢

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT u.id, u.name, u.batch, IF(@batch = (@batch := u.batch), @rollNo := @rollNo + 1, @rollNo := 1) rollNo
FROM userTable u, (SELECT @batch:='', @rollNo:=1) A
ORDER BY u.batch, u.name