我需要在mysql中显示月份的周数,目前我可以在执行此查询时获取一年的周数。我每周检索结果,需要显示周数(如一月第一周、一月第二周、一月第三周等)。有谁可以帮我做到这一点吗?
SELECT d.draftID_PK,
d.clientID_FK,
count(d.quoteNr) AS totalquote,
DATE_FORMAT (d.draftDate,'%u %M %Y') as draftDate,
c.clientName
FROM draft d
INNER JOIN client c ON c.clientID_PK = d.clientId_FK
WHERE d.draftDate<CURDATE() AND d.draftDate>'2013-01-05'
AND c.clientName = '{$client_name}'
GROUP BY DATE_FORMAT (d.draftDate,'%u')
ORDER BY d.draftDate DESC
最佳答案
我做了一些东西,也许这可以帮助你,但周数根据一周的开始而变化,例如: 在巴西,一周从周日开始。所以看看这是否可以解决您的问题。
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
关于mysql - 在mysql中显示周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22136175/