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

例如,对下表中,以日期为索引进行降序排列,金额随日期顺序的改变而改变。ID、商品等字段内容不参与排序,顺序不变。需要在排序后,数据库中的内容都随之相应调整。而不是仅仅显示... 例如,对下表中,以日期为索引进行降序排列,金额随日期顺序的改变而改变。ID、商品等字段内容不参与排序,顺序不变。

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

不胜感谢!
展开
 我来答
奥丁神王
2014-10-25 · TA获得超过357个赞
知道小有建树答主
回答量:331
采纳率:100%
帮助的人:394万
展开全部
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`,`日期`,`金额`,都是按照日期降序排列过的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式