grade_id
grade_name
price
update_date.
一个等级有几项记录,日期和价格不同…:
grade_id grade_name price update_date (y-m-d)
1 A 8$ 2011-02-01
1 A 10$ 2011-03-01
1 A 20$ 2011-04-01
2 B 10$ 2011-02-01
2 B 20$ 2011-03-01
2 B 30$ 2011-04-01
如何使用select查询获取最近更新的价格(但在过去)。
得到:
1 A 10$ 2011-03-01
2 B 20$ 2011-03-01
结果…(因为最近的价格,和过去的日期..
谢谢
戴维
最佳答案
SELECT t1.grade_id, t1.grade_name, t1.price, t1.update_date
FROM my_tbl t1
LEFT JOIN my_tbl t2 on t2.grade_id = t1.grade_id
AND t2.update_date > t1.update_date
AND t2.update_date < CURRENT_DATE
WHERE t1.update_date < CURRENT_DATE
AND t2.grade_id IS NULL
ORDER BY t1.grade_name
关于mysql - 选择最近的日期,但在记录列表中小于今天的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5364092/