我想按照下面列出的顺序对以下数据项进行排序:
id | res -------- 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B 10 B 11 C 12 C 13 C 14 C 15 C
我希望输出是:
res --- A B C A B C A B C A B C A B C
有什么技巧让它更合适吗?
非常感谢!
答案 0 :(得分:1)
您可以按组内的“排名”排序。可以使用自联接计算排名,并使用较小的ID计数条目。
select t1.id, t1.res
from mytable t1
join mytable t2
on t2.res = t1.res
and t2.id <= t1.id
group by t1.id, t1.res
order by count(*), t1.res