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

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

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

不胜感谢!
展开
 我来答
JerryShang0226
推荐于2018-05-10 · TA获得超过1843个赞
知道小有建树答主
回答量:1039
采纳率:86%
帮助的人:188万
展开全部
1、以日期进行排序
select Rownum "ID" , 日期 , 金额, 商品 From (select 日期,金额,商品 from 表 order by 日期)

2、在排序后要求数据库中内容发生变化,如果不是考试的话是没人故意这么玩的。
任何对于数据的ID字段进行手工变动都是愚蠢而白痴的行为。
让然如果是老师故意考你们的话,可以用下面这个简单方法。
①建立临时表,使id字段为自增字段
create table tableName
(
id INT(20) not null AUTO_INCREMENT, --自增属性
日期 char(20) not null,
金额 char(5) not null,
商品 char(2) not null
);
②将排好的数据插入新建的临时表
Insert into tableName(日期,金额,商品) select 日期,金额,商品 from 原始表 order by 日期
③将原表改成其他名,并将第二步建的中间表改名为原表名
alter table 表1 rename to 表2

我手头没有mysql只能按印象写出代码,你拿去试一下吧。
我印象中mysql对pl的支持不好,所以只给出了用sql语句的方案,你参考下吧。
晋玉花春婵
2020-05-04 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:27%
帮助的人:878万
展开全部
1、以日期进行排序
select
Rownum
"ID"
,
日期
,
金额,
商品
From
(select
日期,金额,商品
from

order
by
日期)
2、在排序后要求数据库中内容发生变化,如果不是考试的话是没人故意这么玩的。
任何对于数据的ID字段进行手工变动都是愚蠢而白痴的行为。
让然如果是老师故意考你们的话,可以用下面这个简单方法。
①建立临时表,使id字段为自增字段
create
table
tableName
(
id
INT(20)
not
null
AUTO_INCREMENT,
--自增属性
日期
char(20)
not
null,
金额
char(5)
not
null,
商品
char(2)
not
null
);
②将排好的数据插入新建的临时表
Insert
into
tableName(日期,金额,商品)
select
日期,金额,商品
from
原始表
order
by
日期
③将原表改成其他名,并将第二步建的中间表改名为原表名
alter
table
表1
rename
to
表2
我手头没有mysql只能按印象写出代码,你拿去试一下吧。
我印象中mysql对pl的支持不好,所以只给出了用sql语句的方案,你参考下吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0808xyj
2014-10-25 · TA获得超过1891个赞
知道大有可为答主
回答量:1237
采纳率:100%
帮助的人:1074万
展开全部
大哥,你是想玩Excel,是吧?不过还有一个法子可以实现你想要的结果,写存储过程,更新每条数据,最终可以获取你想要的结果,若是Java后台,也可以拼凑出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anjkma
2014-10-25
知道答主
回答量:28
采纳率:0%
帮助的人:15.4万
展开全部
select * from 表名 order by 日期 desc; 按照日期降序排列。
追问
按照你这样的方案,整个表都进行了排序。而我需要的是,ID和商品名不参加排序。请问如何解决?谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式