我有一个包含数据和类的表,类似于
----------------
| DATA | Class |
----------------
| 1 | A |
| 2 | A |
| 5 | B |
| 10 | A |
| 2 | A |
| 45 | B |
| 90 | B |
----------------我想把这两门课混在一起,得到这样的东西:
----------------
| DATA | Class |
----------------
| 1 | A |
| 5 | B |
| 2 | A |
| 45 | B |
| 2 | A |
| 90 | B |
| 10 | A |
----------------我考虑动态生成一个额外的列,该列将为每个单独的类添加一个顺序的递增索引,并对该类进行排序,但需要一个良好的方向/指针。
类似于:
-----------------------
| DATA | Class | indx |
-----------------------
| 1 | A | 1 |
| 5 | B | 1 |
| 2 | A | 2 |
| 45 | B | 2 |
| 2 | A | 3 |
| 90 | B | 3 |
| 10 | A | 4 |
-----------------------甚至可以只使用MySQL吗?
发布于 2014-09-03 15:09:09
下面是我可以建议的SQL:
SET @rank:=0;
update aabb set `index` = @rank:=@rank+2 where `class` = 'A';
SET @rank:=1;
update aabb set `index` = @rank:=@rank+2 where `class` = 'B';
select * from aabb order by `index`;https://stackoverflow.com/questions/25647685
复制相似问题