如何对mySQL数据库中某些特定字段进行排序?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对mySQL数据库中某些特定字段进行排序?相关的知识,希望对你有一定的参考价值。
例如,对下表中,以日期为索引进行降序排列,金额随日期顺序的改变而改变。ID、商品等字段内容不参与排序,顺序不变。
需要在排序后,数据库中的内容都随之相应调整。而不是仅仅显示出来就完了。
不胜感谢!
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语句的方案,你参考下吧。 参考技术A 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语句的方案,你参考下吧。 参考技术B 大哥,你是想玩Excel,是吧?不过还有一个法子可以实现你想要的结果,写存储过程,更新每条数据,最终可以获取你想要的结果,若是Java后台,也可以拼凑出来 参考技术C select * from 表名 order by 日期 desc; 按照日期降序排列。追问
按照你这样的方案,整个表都进行了排序。而我需要的是,ID和商品名不参加排序。请问如何解决?谢谢!
以上是关于如何对mySQL数据库中某些特定字段进行排序?的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB:如何对 MySQL 字段关键字等结果中的记录进行排序 [重复]