我有一個表的銷售是這樣的:過濾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