如何使用group-by并获取其他行结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用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
和???
谢谢Idan
答案
您可以使用order by
并限制为一行。 ANSI标准语法是:
select t.*
from t
order by t.col2 desc
fetch first 1 row only;
并非所有数据库都支持fetch first
子句,因此您可能必须使用select top 1
,limit
或其他一些构造。
另一答案
您可以在select语句Like中使用where
Select * from table name where col2=max(col2)
您可以使用单个值获取最大列整行
如果包含相同值的列col2(如此时上面的1,1,2,2)返回2行。那时如果你想要单行你想要使用它
Select * from table name where col2=max(col2) fetch first 1 row only
可能有帮助
以上是关于如何使用group-by并获取其他行结果的主要内容,如果未能解决你的问题,请参考以下文章
MySQL:是不是可以将 GROUP-BY 的结果加入到两个 SELECT 中?