如何对mySQL数据库中某些特定字段进行排序?

例如,对下表中,以日期为索引进行降序排列,金额随日期顺序的改变而改变。ID、商品等字段内容不参与排序,顺序不变。

需要在排序后,数据库中的内容都随之相应调整。而不是仅仅显示出来就完了。

不胜感谢!

set @count=0;
update tb t1, (select @count:=@count+1 as `count` , `日期`,`金额` from tb order by `日期` desc) t2 set t1.`日期`=t2.`日期`, t1.`金额`=t2.`金额` where t1.`ID` = t2.`count`;追问

非常感谢,可是看不懂哦。@count作用是什么?tb t1 t2分别是什么意思?select @count:=@count+1 as `count` 这句话是什么意思?

追加到200了。搞明白后再追加50。多谢啦!

追答

因为我不知道你的表名,所以我用tb代替,@count是自定义变量,用于记录排序后的序列号的,
tb t1的意思是说为tb表取别名t1, select @count:=@count+1 as `count` 。。。这句是想查询出排序后的结果集,并且结果集中添加了新列,`count`,也就是排序后的序列号,as表示@count的值在新列`count`中,t2就是得到的结果集的别名,相当于一个临时表,有三个字段,`count`,`日期`,`金额`,都是按照日期降序排列过的

追问

水平很高哦!不过我还是似懂非懂的。您是否方便留下个QQ?我想向您有偿请教几个问题。多谢啦!

追答

可以在私信里说

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答