2

我有下表称为 MyTable

    First     Second     Third    Fourth
    1         Ab         Cd       2.3
    1         Cq         Fe       3.4
    2         Dr         Dh       1.2
    3         Bb         Qd       9.8
   ..........ETC.....................

如何选择按 First 分组的具有最大Fourth列值的行。所以这将是一个导致的查询

    First     Second     Third    Fourth
    1         Cq         Fe       3.4
    2         Dr         Dh       1.2
    3         Bb         Qd       9.8
4

3 回答 3

5

试试这个:

select * 
from   MyTable T
join      (Select First,max(Fourth) as Fourth
          from MyTable
          group by First)a
on    T.First=a.First
and   T.Fourth=a.Fourth


SQL 小提琴演示

于 2012-10-25T08:00:25.283 回答
2

试试这个解决方案:

select MT.First, MT.Second, MT.Third, MT.Fourth 
from MyTable MT
join ( select first, max(Fourth) as Fourth
       from MyTable
       group by first
     ) T on T.first = MT.First
         and T.Fourth = MT.Fourth

SQL 小提琴演示

于 2012-10-25T08:00:52.400 回答
0
select
    B.*
from (select T.First, max(T.Fourth) as Fourth from Table as T) as A
    inner join Table as B on B.First = B.First and B.Fourth = A.Fourth
于 2012-10-25T08:03:57.203 回答