我的SQL查詢:
SELECT @rownum := @rownum + 1 AS ID, SKU, SUM(Quantity) FROM orders, (SELECT @rownum := 0) r
WHERE ShipDate BETWEEN 01-05-2013 AND 11-05-2013
GROUP BY SKU
而且在我的代碼,我做了以下內容:
$sql = "SELECT @rownum := @rownum + 1 AS ID, SKU, SUM(Quantity)
FROM orders, (SELECT @rownum := 0) r
WHERE ShipDate BETWEEN {$from_date } AND {$to_date }
GROUP BY SKU";
我要選擇的是介於數據兩個值。
ShipDate
是一個文本字段,而不是日期字段。我檢查了表,它保存了數據,但MySQL返回null。
爲什麼?我做錯了什麼?
如何更新我的PHP代碼?
此代碼:
"SELECT @rownum := @rownum + 1 AS ID, SKU, SUM(Quantity)
FROM orders, (SELECT @rownum := 0) r
WHERE STR_TO_DATE(ShipDate,'%d-%m-%Y') BETWEEN {$from_date } AND {$to_date }
GROUP BY SKU";
是不是爲我工作。
請幫幫我。
ShipDate是以DateTime還是以Date存儲的?如果是DateTime,請分別考慮使用> =和<=。 – sgeddes 2013-05-10 18:29:06
@sgeddes ShipDate顯然是一個文本字段 – cheesemacfly 2013-05-10 18:30:00
它的文本字段,而不是「日期」字段... – 2013-05-10 18:30:39