1、使用 order by record_time desc 实现降序时, record_time 为 null 数据的会排在数据的最后面;
但是, order by record_time 升序时, record_time 为 null 的数据则会排在最前面,如果想要将 record_time
为 null 的数据排在最后,就需要加上 is null 。
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语句的方案,你参考下吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)