我想根据给定日期显示每周用户记录,
我假设我给的是日期范围'2014-01-24'
,
这个日期将在哪一周
示例:第1周,第2周,第3周,第4周,
我正在使用查询,
select weekday(date);
答案 0 :(得分:0)
使用WEEK(date[,mode])
提供的Week Function MySQL
。
答案 1 :(得分:0)
SELECT WEEK('2014-01-24');
+--------------------+
| WEEK('2014-01-24') |
+--------------------+
| 3 |
+--------------------+
1 row in set (0.00 sec)
答案 2 :(得分:0)
我不确定我是否正确理解了您的问题,但我认为您需要使用“DAYOFMONTH”功能而不是“WEEKDAY”。获得DAYOFMONTH后,使用除法运算符找出您所在的周#。
例如:
SELECT DAYOFMONTH('2007-02-22');
将返回22。
22 / 7 = 3, so you are in week 3.
编辑:此答案基于查找给定月份的周数。其他答案显示“WEEK”功能,该功能将给出与给定年份相关的周数。
答案 3 :(得分:0)
答案 4 :(得分:0)
此函数返回日期的周数。 WEEK()的双参数形式使您能够指定周是在星期日或星期一开始,以及返回值是否应该在0到53或1到53的范围内。
mysql> SELECT WEEK('2014-01-24');
-> 3
即; 第3周
答案 5 :(得分:0)
我做了些什么,也许这可以帮助你,但周数根据周开始而有所不同,例如:在巴西,这周从周日开始。所以,看看这是否可以解决您的问题。
SET @date:='2014-08-31';
SELECT
@first := date_add(
date_add(
LAST_DAY(@date),
interval 1 DAY
),
interval -1 MONTH
) AS first_day,
@date,
-- EXAMPLE 1
WeekofYear(@date),
WeekofYear(@first),
WeekofYear(@date)-(WeekofYear(@first)-1) Num_Week,
-- EXAPLE 2 - Works in Brazil perfectly
Week(@date),
Week(@first),
Week(@date)-(Week(@first)-1) Num_Week_Brazil