我有一個奇怪的方式工作的MySQL查詢。我發佈了2個查詢,其中輸入數據發生了更改,輸出在每個查詢下列出。請解釋下面的查詢是如何工作的?
查詢1(面積要注意BETWEEN '13/05/11' AND '30/05/11'
):
SELECT COUNT(pos_transaction_id) AS total, DATE_FORMAT(pt.timestamp,'%d-%m-%Y %H:%i:%S') AS Date, SUM(amount) AS amount FROM pos_transactions pt WHERE DATE_FORMAT(pt.timestamp,'%e/%m/%y') BETWEEN '13/05/11' AND '30/05/11' GROUP BY WEEK(pt.timestamp) ORDER BY pt.timestamp
輸出:
查詢2(面積要注意BETWEEN '3/05/11' AND '30/05/11'
):
SELECT COUNT(pos_transaction_id) AS total, DATE_FORMAT(pt.timestamp,'%d-%m-%Y %H:%i:%S') AS Date, SUM(amount) AS amount FROM pos_transactions pt WHERE DATE_FORMAT(pt.timestamp,'%e/%m/%y') BETWEEN '3/05/11' AND '30/05/11' GROUP BY WEEK(pt.timestamp) ORDER BY pt.timestamp
輸出:
現在,當第二個查詢中的範圍增加時,爲什麼只有一條記錄?即使在第一個查詢中,我也會得到超出範圍的記錄。它有什麼問題?
編輯
更改後的查詢看起來是這樣,但仍不能做我想要做的事。
SELECT COUNT(pos_transaction_id) AS total, DATE_FORMAT(pt.timestamp,'%d-%m-%Y %H:%i:%S') AS Date, SUM(amount) AS amount FROM pos_transactions pt WHERE DATE_FORMAT(pt.timestamp,'%e/%m/%y') BETWEEN STR_TO_DATE('01/05/11','%e/%m/%y') AND STR_TO_DATE('30/05/11','%e/%m/%y') GROUP BY WEEK(pt.timestamp) ORDER BY pt.timestamp
輸出是:
檢查我的編輯我仍然有問題..你需要什麼看到? – Deepak 2011-05-29 13:00:26