2017-02-17 66 views
1

我想了解如何在WHERE語句中使用MAX函數。SQL學習/ MAX Understanging

所以說,我有一個表或表2或3。我有

col1 col2 col3 
A1  mark 200 
A1  Jon  300 
A2  Bill 100 
A2  Jen  400 
A3  will 250 
A3  ben  700 

而且我想在參考了COL1返回MAX值對col 3 SO

A1 300 
A2 400 
A3 700 

如何做到這一點會是一個好主意?我是否應該使用MAX?

+1

對集合函數條件使用HAVING子句。但是在這裏您需要選擇列表中的GROUP BY和MAX。 – jarlh

+0

你想在WHERE子句中究竟做什麼?在你的例子中,不需要'WHERE'。 –

回答

0

你可以只使用

SELECT 
    col1, 
    MAX(col3) 
FROM 
    table_name 
GROUP BY 
    col1; 
2

最大功能是對一組行進行操作的聚合函數。 例如如果您有

select MAX(col3) from table; 

您將獲得所有行的col3中的最大值。 另外,您可以使用GROUP BY子句對行進行分組,這使得MAX函數只能在每個組的行上操作。 什麼你問的是

select col1, MAX(col3) from table GROUP BY col1; 

這建立行組在col1中相同的值,併爲每個計算最大COL3的那些組。