我很好奇如何使用与table2
相同的数据创建相同结构的table1
,但按列频率排序。
或者,这个问题的等价物是:正确地更改表中行的id。
无论是ASC还是DESC都无关紧要。
结果,table1
:
**id - name - frequency**
1 - John - 33
2 - Paul - 127
3 - Andy - 74
应该成为table2
:
**id - name - frequency**
1 - Paul - 127
2 - Andy - 74
3 - John - 33
最简单的方法是什么?
另外,对于大表最快的查询我会很有趣(虽然性能对我来说并不那么重要)。
答案 0 :(得分:2)
答案 1 :(得分:1)
为此,您需要创建新的ID。这是一种MySQL方法:
create table table2 as
select @rn := @rn + 1 as id, name, frequency
from table1 cross join (select @rn := 0) const
order by frequency desc