2013-06-25 71 views
0

我有這個疑問:取一列的最大值在SQL表

SELECT DISTINCT S.PRODOTTO, D.CODPROD, D.IDPROD 
FROM D_PROD D, APP_SALES S 
WHERE D.CODPROD = S.PRODOTTO 

結果是:

PRODOTTO CODPROD IDPROD 

P2 P2 2 
P1 P1 1 
P3 P3 4 
P3 P3 3 

現在我想結果是

PRODOTTO CODPROD IDPROD 

P2 P2 2 
P1 P1 1 
P3 P3 4 

產品P3採用它遇到的最大idprod。

如果一個產品有更多的行,我該如何對查詢採取最大值?

我想要max idprod。

回答

0
SELECT DISTINCT S.PRODOTTO, D.CODPROD, MAX(D.IDPROD) 
FROM D_PROD D, APP_SALES S 
WHERE D.CODPROD = S.PRODOTTO 
GROUP BY S.PRODOTTO, D.CODPROD 
+0

當你有一個「group by」組時,你不應該使用'distinct'。 –