我試圖選擇歷史總計(t1.date - 1現在)關閉一定範圍的給定日期(t1.DATE> ='2011-01-01'和t1.DATE < = '2011-11-11')MYSQL自加入以選擇去年的銷售
SELECT
t1.date as DATE, SUM(t1.total), t2.date, sum(t2.total)
FROM T_SALES t1
LEFT OUTER JOIN T_SALES t2
on (t2.date = (t1.date - 1)
AND t2.rc = t1.rc
AND t2.storenum = t1.storenum)
WHERE
t1.RC = 0
AND t1.STORENUM = '1,'
AND t1.DATE >= '2011-01-01'
AND t1.DATE <= '2011-11-11'
GROUP BY t1.date
ORDER BY t1.DATE ASC
我的第二個總t2.total是我的問題是 - SUM(t1.total)表示準確的銷售總額)
下面是我的輸出
值27.90,應該是5.58 - 看起來我超過總和(t2.total)。
分組由t1.total表明還有:(5.58 * 5 = 27.90)
我已經試過所有可以想象的分組,但只是無法得到它的權利,任何想法在那裏?謝謝大家!
您試圖獲得基於日期範圍的歷史總計?我不明白你爲什麼要加入表格來做到這一點?我認爲你需要提供更多關於你想要實現的細節,或者我的預感是你試圖在一個查詢中做得太多。我不明白爲什麼要用t1.Date = t2.Date來加入表格本身。什麼是rc字段?可能你想使用嵌套的select查詢,然後在日期中將它們連接在一起。 – gdbj
這很清楚(對我來說)OP正在試圖比較日常銷售,這是零售業中一個相當常見的指標。 –
我認爲格雷戈裏提出了一個很好的觀點。加入一個表本身有點令人困惑,但是如果你想比較日期,你仍然可以通過使用子查詢來在where子句中這樣做,那麼你將永遠不需要再使用連接語句。 –