在我的表中有一个星期和日期的列。我怎样才能到2015年间每周取数据 52年至2016年周 2. 对不起我的英语不好:(如何在Mysql中在不同年份的数周之间获取数据
-1
A
回答
5
尝试这种查询可以解决你的问题。
SELECT *
FROM TABLE
WHERE (WEEK(date)>=52 AND YEAR(date)=2015) OR
(WEEK(date)<=2 AND YEAR(date)=2016);
+0
感谢您的快速响应,我会试试这个,并让你知道,如果它解决我的问题 –
+0
这解决了我的问题 –
1
这是一个替代解决方案,您不需要在数据库中记录周数,看到Sadikhassan已经为OP的原始请求提供了解决方案
没有必要mai为您的周数添加一个单独的列。只需保留日期记录并丢失周数栏。由于您使用PHP作为您的前端,因此您可以使用此方法从所需的周数和年份中获取Date。
$range_start = new DateTime();
$range_start->setISODate($year,$week_no);//give 2015 and 52 here
echo $range_start->format('d-M-Y'); // 21 DEC 2015
$range_end = new DateTime();
$range_end->setISODate($year,$week_no);//give 2016 and 2 here
echo $range_end->format('d-M-Y'); //11 January 2016
//IDK if this is necessary because I don't work in PHP but I am gonna convert it to strings
$start_date_str = $range_start->format('d-M-Y');
$end_date_str = $range_end->format('d-M-Y');
现在你已经得到了你的各自的起始日期和结束日期,你可以简单地查询使用它们:
$result = mysql_query("SELECT * FROM YOURTABLE WHERE date >= '" . $start_date_str . "' AND date <= '" . $end_date_str . "' ORDER by id DESC");
相关问题
- 1. PHP - 获取上周的年份数
- 2. 如何在datetime数据框中获取多年的月份数?
- 3. MySQL在特定月份,年份之间获取记录
- 4. 年份与周年之间的区别?
- 5. 获取两个日期之间不包含年份的天数
- 6. 如何在JAVA中从MySQL获取当前年份和月份?
- 7. 从数据库中获取年份
- 8. 如何在MySQL中获取不同类型的相关数据?
- 9. 在SQL Server中获取每周给定的一周数,月份数和年份的日期范围
- 10. Mysql获取两行之间的数据
- 11. Mysql - 在同一个查询中获取不同时间间隔的数据
- 12. 如何仅从今年的mysql数据库获取数据
- 13. 如何在psql中获取当前月份周日的数量?
- 14. 从不同的年份在PHP中获取数据(即从2016年11月1日到2017年1月01日)
- 15. Mysql月份和年份的数据
- 16. 如何在特定日期之间从MySQL数据库获取数据
- 17. 如何根据特定月份和今年的MySQL PHP获取数据
- 18. 如何在mysql中的数据库之间访问数据?
- 19. Java时间:获得特定年份的最大周数
- 20. 在MySQL中选择不同年份的5个月内的数据
- 21. 如何在MySQL中从月份获取周平均值?
- 22. 如何从SCD TYPE2表中特定年份获取数据
- 23. MySQL查询获取上周的数据
- 24. 在MySQL数据库中只创建月份和年份列
- 25. 如何在mysql中选择两年之间的每一年?
- 26. 如何从python数据框获取过去几年的上周数据?
- 27. MS Access中使用select查询的年份之间的数据
- 28. 如何获取选定月份之前的月份数据
- 29. 在android中获取月份和年份?
- 30. 如何在Java中的不同类之间共享数据
只需要为 – amdixon
@NSNoob日期栏如果你'flag'问题为重复那么它必须包含可接受的答案。 – Sadikhasan
@Sadikhasan问题是关于在两个日期范围(2015年第52周开始日期和2016年第2周结束日期)之间取数据。他在数据库设计方面存在问题(在日期和星期中使用多列),但他们并没有像我看到的那样使他的问题变得独特。 – NSNoob