MySQL计数器变量groupby

时间:2016-04-01 07:08:42

标签: mysql sql

我有一个显示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

UserID UserGrade UserExamId计数器

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

0 个答案:

没有答案