2016-11-17 8 views
-1

現在の年と前年のデータを比較するために2期間の日付を差し引いて、クエリが機能していません。SQLで2期間の日付を取得する方法

期間を削除しても、2つの期間を引き出す方法がわかりません。

おかげ

SELECT year(date) as year, WEEK(ADDDATE(date, 5-DAYOFWEEK(date)), 3) AS 'Week', DATE, 
FROM TABLE 
WHERE year(date) in (2015, 2016) 
AND (DATE BETWEEN "2016-10-23" AND "2016-11-12") 
AND (DATE BETWEEN "2015-11-06" AND "2015-11-12") 
ORDER BY DATE, year(date) 
+0

http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-aを参照してください。 -very-simple-sql-query – Strawberry

答えて

0

、このいずれかを試してみてください。

SELECT year(date) as year, WEEK(ADDDATE(date, 5-DAYOFWEEK(date)), 3) AS 'Week', DATE, 
FROM TABLE 
WHERE 
((DATE BETWEEN "2016-10-23" AND "2016-11-12")) OR 
((DATE BETWEEN "2015-11-06" AND "2015-11-12")) 
ORDER BY DATE, year(date) 
0

私はあなたがorをしたいと思う:

SELECT year(date) as year, WEEK(ADDDATE(date, 5-DAYOFWEEK(date)), 3) AS Week, DATE 
FROM TABLE 
WHERE DATE BETWEEN '2016-10-23' AND '2016-11-12' OR 
     DATE BETWEEN '2015-11-06' AND '2015-11-12'; 

は、Notes:

  • あなたはwhere句にdate()比較を必要としません。
  • 日付と文字列の定数には一重引用符を使用する必要があります。
  • カラムエイリアスには一重引用符を使用しないでください。
0
SELECT year(DATE) AS year 
,WEEK(ADDDATE(DATE, 5 - DAYOFWEEK(DATE)), 3) AS 'Week' 
,DATE 
FROM TABLE 
WHERE (
    (
     DATE BETWEEN '2016-10-23' 
      AND '2016-11-12' 
     ) 
    OR (
     DATE BETWEEN '2015-11-06' 
      AND '2015-11-12' 
     ) 
    ) 
関連する問題