繁体   English   中英

在mysql中显示星期数

[英]Display week number in mysql

我需要在mysql中显示月份的星期数,当前执行此查询时可以得到年份的星期数。 我每周要检索结果,需要显示周数(如1月的第1周,1月的第2周,1月的第3周,等等)。 任何人都可以帮我做到这一点吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM