我有一个显示userid,grade和examid的查询。我需要一个变量,它可以让我连接userid,usrgrade和increment testid。我尝试了下面提到的查询,它无法正常工作。请一些人帮助我
select sub.*,CONCAT(UserId, '-',Grade,'-', rank) as CounterVariable from (
SELECT @rn:=CASE WHEN (@usr = us.userid and @us @usrex<>us.userexamid) THEN @rn ELSE @rn+1 END AS rank,
@usr:=us.userid as usr,
@usrex:=us.userexamid as usrex,
@usrgrade: @us.grade as usrgrade
us.userid AS UserId,
e.level AS level,
us.grade AS Grade,
us.userexamid as UserExam,
from
usersections us
cross join (SELECT @rn:=0) t1
cross join (SELECT @usr=0) t2
cross join (SELECT @usrex=0) t3
cross join (SELECT @usrgrade=0) t4
GROUP BY
us.userid,
us.grade,
us.userexamid)sub
1 2 3 1-2-0
1 2 4 1-2-1
1 3 5 1-3-0
1 3 6 1-3-1
2 2 7 2-2-0
2 3 8 2-3-0