假设我们的结果集类似于column_id: 1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4
我已经尝试过常规“按asc排序”,它又归还了我:
1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4
但必需的结果集是:
1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4
也使用“group by”函数,因为它与聚合函数一起使用,它只返回第一组结果:1,2,3,4
请帮我解决这个问题。
答案 0 :(得分:0)
您可以将用户定义的变量用于所需的结果集
SELECT column_id
FROM (
SELECT column_id,
@r:= CASE WHEN @g = column_id THEN @r + 1 ELSE 1 END seq,
@g:= column_id
FROM table1
CROSS JOIN (SELECT @g:= NULL,@r:=0) t
ORDER BY column_id
) t1
ORDER BY seq,column_id