2017-02-17 37 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的那些组。