首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找与日数增加相对应的行

查找与日数增加相对应的行
EN

Stack Overflow用户
提问于 2018-02-24 14:40:18
回答 2查看 44关注 0票数 1

我有一个mysql表,其中有一个数字列,该列引用一周中的一天模式。

1=周一至7=周日。

如果这一模式超过一周,那么这个数字还会继续增加,因此,周六将有13人和20人一样。

有人能帮助构建一个查询,查找与一周中某一天相关的所有数字吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-24 14:47:44

您可以使用MOD使在命中7之后,代表工作日圆周的数字返回到1。

代码语言:javascript
复制
select
    weekday
,   mod(weekday-1,7)+1
from test

演示。

票数 2
EN

Stack Overflow用户

发布于 2018-02-24 15:01:21

您可以使用mod操作符作为@dasblinkenlight在他的回答中解释。要想得到当天的名字,请做:

代码语言:javascript
复制
select A.weekday, B.day FROM
(select
    weekday,
    mod(weekday-1,7)+1 actualWeekday
from test) A join (
    select 1 weekday, 'MONDAY' day UNION ALL
    select 2 weekday, 'TUESDAY' day UNION ALL
    select 3 weekday, 'WEDNESDAY' day UNION ALL
    select 4 weekday, 'THURSDAY' day UNION ALL
    select 5 weekday, 'FRIDAY' day UNION ALL
    select 6 weekday, 'SATURDAY' day UNION ALL
    select 7 weekday, 'SUNDAY' day
  ) B on A.actualWeekday=B.weekday
order by A.weekday;

请参阅演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48964007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档