结束时间-开始时间=经过的时间 excel_列表怎么按时间排序今天接到一个需求,任务按照 进行中>即将开始>已结束 >活动任务>全局任务 > sort的排序 表如下 CREATE TABLE `task` ( `taskid` int(10) unsigned…
CREATE TABLE `task` (
`taskid` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT "任务ID",
`title` varchar(20) NOT NULL DEFAULT "" COMMENT "标题",
`type_for` tinyint(1) NOT NULL DEFAULT "1" COMMENT "1全局2针对活动",
`atid` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "活动ID",
`beg_time` int(11) NOT NULL DEFAULT "0" COMMENT "开始时间",
`end_time` int(11) NOT NULL DEFAULT "0" COMMENT "结束时间",
`target` text COMMENT "任务目标",
`state` tinyint(1) NOT NULL DEFAULT "1" COMMENT "状态1开启,0关闭",
`created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "创建时间",
`updated_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "更新时间",
`sort` int(10) unsigned NOT NULL DEFAULT "0" COMMENT "倒序",
PRIMARY KEY (`taskid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="任务系统"
代码100分
order by
需要做用到case when
才能正常达到预期
代码100分select
*
from
`task`
order by
(case
when beg_time <= 1587382508
and 1587382508 <= end_time then 1
else 0 end) desc,
(case
when beg_time > 1587382508 then 1
else 0 end) desc,
(case
when end_time < 1587382508 then 1
else 0 end) desc,
type_for asc,
sort desc
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。 转载请注明出处: https://daima100.com/8922.html