mysql 怎么将下个月到期的数据靠前排列

mysql 怎么将下个月到期的数据靠前排列,第1张

下面提供一个栗子给大家尝尝:

将下个月到期的保单排在前面

-- 创建测试表

create table if not exists 保单(保单号 varchar(10) primary key, 到期日 date)

-- 清空及插入测试数据

delete from 保单

insert into 保单 values

('001','2016-02-01'),

('002','2016-03-01'),

('003','2018-09-01'),

('004','2018-12-15'),

('005','2017-08-09'),

('006','2017-08-26')

-- 查看未排序前的情况

select * from 保单

-- 强制排序,将下个月到期的保单排在最前面

select * from 保单 order by case when

date_format(到期日,'%Y%m')=

date_format(date_add(now(),interval 1 month),'%Y%m')

then 0 else 1 end

运行效果请见附图

首先,你的表结构设计的不合理,一个数据表中,最起码的要有创建时间和更新时间两个字段。如果你的表中有这两个字段,那么就可以按照时间desc排序,取前十(limit 10)就可以了。

如果你不考虑改变表结构,可以按照id(主键)desc排序,取前十(limit 10)。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存