我有桌子temp
结构上sqlfiddle http://sqlfiddle.com/#!2/cf1aa:
id(int 11 primary key)
name(varchar 100)
name2(varchar 100)
date(datetime)
我想获得本周的记录,例如,如果现在是 2013 年 11 月 21 日,我想要 2013 年 11 月 18 日到 2013 年 11 月 24 日(本周)的所有行
现在我看到下一个算法:
- 获取工作日
- 计算星期一是多少天前
- 计算星期一的日期
- 计算未来日期星期日
- 在日期提出请求
请告诉我,是否存在更短的算法(最好在查询 MySQL 中)?
添加问题是: Why 这个查询 http://sqlfiddle.com/#!2/cf1aa/1选择日期记录17.11.2013(Sunday) - 23.11.2013(Saturday)
以及如何获取日期记录18.11.2013(Monday) - 24.11.2013(Sunday)
?
query:
select * from temp
where yearweek(`date`) = yearweek(curdate())
Thanks!
Use YEARWEEK() http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_yearweek:
SELECT *
FROM your_table
WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)