如何使用group-by并获取其他行结果

时间:2018-03-03 16:41:50

标签: sql database group-by

问题:如果这是我的数据:

col1,col2,col3,col4
===================
www.com,0,dangerous,reason A
www.com,1,dangerous 2,reason B

我想要第2列值为max的单个结果,所以我将在我的select Max(col2)函数中使用 - 但是如何获得那些相应的col3和col4行?

select 
    col1, max(col2), col3, col4
group by 
    col1

和???

由于 伊詹

1 个答案:

答案 0 :(得分:0)

您可以使用order by并限制为一行。 ANSI标准语法是:

select t.*
from t
order by t.col2 desc
fetch first 1 row only;

并非所有数据库都支持fetch first子句,因此您可能必须使用select top 1limit或其他一些构造。