MYSQL排序字段为空的排在最后面

MYSQL排序字段为空的排在最后面,第1张

排序字段为 record_time1、使用 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语句的方案,你参考下吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6125649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存