2014-03-03 63 views
0

我需要顯示mysql中的月份數,並且當前可以獲得執行此查詢時的一週數。我每週檢索結果,需要顯示週數(如1月的第1周,1月的第2周,1月的第3周等)。任何機構可以幫助我做到這一點?在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 
+0

看到這個頁面(非常接近底部)http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format的評論部分 – Strawberry

+0

我相信你在尋找這個 http://think-robot.com/2009/04/week-of-the-month-in-mysql/ – Riz

回答

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