mysql day of week_在MySQL中按day_of_week排序

我意识到这是一个老线程,但是当它在某些搜索时间到谷歌的顶部时,我会用它来分享我的方法 .

我想要与原始问题相同的结果,但另外我想要从一周的当天开始对结果进行排序,然后在剩下的时间里进行 .

我创建了一个单独的表,其中列出了两周的日期,因此无论您从哪一天开始,都可以运行7天的序列 .

CREATE TABLE IF NOT EXISTS `Weekdays` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;

INSERT INTO `Weekdays` (`id`, `name`) VALUES

(1, 'Monday'),

(2, 'Tuesday'),

(3, 'Wednesday'),

(4, 'Thursday'),

(5, 'Friday'),

(6, 'Saturday'),

(7, 'Sunday'),

(8, 'Monday'),

(9, 'Tuesday'),

(10, 'Wednesday'),

(11, 'Thursday'),

(12, 'Friday'),

(13, 'Saturday'),

(14, 'Sunday');

然后,我使用一个变量来运行查询,该变量按顺序确定起点,并使用连接来获取日期的订单号 . 例如,要在星期三开始列表,我会执行以下操作:

SELECT @startnum := MIN(id) FROM Weekdays WHERE name='Wednesday';

SELECT * FROM Events INNER JOIN ( SELECT id as weekdaynum, name as dayname FROM Weekdays WHERE id>(@startnum-1) AND id

我希望这可以帮助那些偶然发现这篇文章的人 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值