我有一個MySQL查詢的問題。我有以下表格:MySQL數量和顯示範圍內的所有日期
[id]
[from] DATE (Y-m-d)
[days] INT
[...]
和我有兩個PHP變量$start
和$end
。我想有這樣的結果,例如:
$start = 2012-19-03
$end = 2012-24-03
$result = array(
[0] => COUNT of rows WHERE '2012-19-03' BETWEEN from AND from + INTERVAL days DAY
[1] => COUNT of rows WHERE '2012-20-03' BETWEEN from AND from + INTERVAL days DAY
[2] => COUNT of rows WHERE '2012-21-03' BETWEEN from AND from + INTERVAL days DAY
[4] => COUNT of rows WHERE '2012-22-03' BETWEEN from AND from + INTERVAL days DAY
[5] => COUNT of rows WHERE '2012-23-03' BETWEEN from AND from + INTERVAL days DAY
[6] => COUNT of rows WHERE '2012-24-03' BETWEEN from AND from + INTERVAL days DAY
}
直到現在我與每一天的查詢這樣做在一個while循環,但應該有一個更好的辦法。我的問題是GROUP BY
,那裏的數據不存在的日子。
更詳細的例子:
的樣本數據:
id, from, days
1, 2012-15-03, 2
2, 2012-15-03, 5
3, 2012-13-03, 20
4, 2012-16-03, 1
期望的結果:
$start = 2012-11-03
$end = 2012-19-03
$result = array(
[0] => 0 (ROWS IN DB WHERE '2012-11-03' BETWEEN from AND from+days -- no match in data),
[1] => 0 (ROWS IN DB WHERE '2012-12-03' BETWEEN from AND from+days -- no match in data),
[2] => 1 (ROWS IN DB WHERE '2012-13-03' BETWEEN from AND from+days -- id #3 matches),
[3] => 1 (and so on),
[4] => 3,
[5] => 4,
[6] => 3,
[7] => 2
)
這樣的..
興小時沒有找到一種方法,我希望你能幫我, 問候
所以問題出在哪裏,如果你知道之間關鍵字 – 2012-03-19 05:45:50
得到這種排序陣列的PHP變量$ start和$ end – Feryaz 2012-03-19 05:49:34
之間的天數你可以發佈你從數據庫中獲得的數組還有select sql查詢 – 2012-03-19 06:09:43