mysql - 在 MySQL 中根据 YEAR、WEEK 和 WEEKDAY 计算 DATE

标签 mysql sql date

和标题差不多

我基本上想做一个简单的查询...

SELECT *
FROM sign_in_out
WHERE user_id = 6
  AND time_signed < DATE('2014-10-23 16:11:54')
ORDER BY time_signed DESC LIMIT 1

...获取指定日期之前最近的登录/注销事件,以确定相关用户在该天开始时是登录还是注销。上面的查询工作正常,但问题是我没有那样的日期,我有 YEAR、WEEK 和 WEEKDAY。

如何在 MySQL 中根据这些创建 DATE?

谢谢

最佳答案

SELECT *
FROM sign_in_out
WHERE user_id = 6
  AND time_signed < MAKEDATE(year_col,(week_col*7+(weekday-1)))
ORDER BY time_signed DESC LIMIT 1

检查手册 MAKEDATE

关于mysql - 在 MySQL 中根据 YEAR、WEEK 和 WEEKDAY 计算 DATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26546499/

相关文章:

MySQL : FORCE INDEX vs USE INDEX

mysql - 如何使用 Node js 在 mysql 中插入和获取原始 json 值

mysql - 从名字和姓氏生成唯一的用户名?

mysql - 同一查询中的 update 和 2 select 语句导致错误

java - Hibernate 级联继承

javascript - 用 jquery 链接两个日期选择器

mysql - 如何在 Sequel-Pro 中使用包?

c# - 将数据存储在表中(SQL)

c - 输入错误后循环返回,fgetc(stdin) 问题和循环

javascript - 为什么 JavaScript getTime() 不是一个函数?