table(int)(varchar)(int)(data)
id price brandid buydate
1 10000 4 2009-02-02
2 20000 6 2009-02-03
3 10000 4 2009-02-04写一条查询取得id是2,3的语句,当然不是依靠id=2 or id=3根据brandid与buydate来筛选
首先brandid不一样就取出,如果brandid一样,那么就取出buydate最大的那条.
id price brandid buydate
1 10000 4 2009-02-02
2 20000 6 2009-02-03
3 10000 4 2009-02-04写一条查询取得id是2,3的语句,当然不是依靠id=2 or id=3根据brandid与buydate来筛选
首先brandid不一样就取出,如果brandid一样,那么就取出buydate最大的那条.
(SELECT MAX(buydate) FROM table as b WHERE a.brandid=b.brandid);
from table a inner join (select brandid,max(buydate) as mBuydate table group by brandid) b
on a.brandid=b.brandid and a.buydate=b.mbuydate
5.0 以上版本就可以使用子查询来完成。
5.0 之前版本就用 【ACMAIN_CHM】 提供的SQL 来完成。 有子查询的确方便了很多。