我有一个表的销售是这样的:过滤GROUP BY的观点就像
CLIENT, PRODUCT, SALEDATE
Peter, Phone, 2013/02/01
Peter, Phone, 2012/11/15
Peter, Phone, 2010/01/01
我有这种看法命名LastSale:
SELECT Client, Product, MAX(SaleDate)
FROM Sales
GROUP BY Client, Product
如果我们执行这一观点,其结果必然是
Peter, Phone, 2013/02/01
现在我的问题是,我使用的是由SaleDate程序过滤这个观点,例如:
SELECT *
FROM LastSale
WHERE SaleDate < '2013/01/01'
而这个SQL没有给我的结果,因为MAX(SaleDate)不<“2013年1月1日”,但也有符合要求(二零一二年十一月十五日)的日期。
我知道这可以在视图中使用HAVING子句完成,但在我的程序中我正在访问视图,所以我无法更改它。有什么办法可以得到我想要的结果?
在此先感谢,并请原谅我可怜的英语。
您正在使用哪些DBMS?甲骨文? Postgres的? – 2013-02-18 11:38:22