表T1獲取最近的日期值組具有以下結構由每個項目
| id | from | item | p |
1 2014-03-26 08:00:00 500 9
2 2014-03-28 14:30:00 500 7
3 2014-03-29 14:30:00 200 48
4 2014-04-01 19:00:00 200 51
5 2014-03-30 23:30:00 500 6
如何選擇爲每個項目只與日期最近的日期的記錄,現在過去?
SELECT t1.`from`, t1.item, t1.item
FROM t1
WHERE t1.`from` <= NOW()
ORDER BY `from` DESC
LIMIT 1
這將結果限制爲1項
這
SELECT t1.`from`, t1.item, t1.item
FROM t1
WHERE t1.`from` <= NOW()
GROUP BY item
現在返回最早的記錄的foreach元素不是nearst來。
我應該使用什麼?
編輯
現在預期結果(2014-03-31 15:30:00)
| id | from | item | p |
3 2014-03-29 14:30:00 200 48
5 2014-03-30 23:30:00 500 6
結果我得到:
| id | from | item | p |
1 2014-03-26 08:00:00 500 9
3 2014-03-29 14:30:00 200 48
服務器時間是完美的!
EDIT2
SELECT t1.`from`, t1.p, prod_desc.name AS prod
FROM PROD_DESC
JOIN
(SELECT MAX(t1.`from`) `from`, t1.id
FROM t1
GROUP BY prod) t2 USING(`from`, id)
LEFT JOIN t1
ON t1.item = PROD_DESC.id_prod
WHERE t1.`from` <= NOW()
應該期望的結果集是什麼樣的......,是有一個sqlfiddle? – Strawberry
我編輯了我的答案與預期的結果。 'sqlfiddle.com'已關閉,我收到一個運行時錯誤 – Perocat
它發生了。幾分鐘後再試。或者在這裏粘貼DDL。 – Strawberry