SQL: Select 来自 2 个条件的最大值

SQL: Select MAX value from 2 conditions

我有 1 table 和 4 列。我想从使用条件的访问和支出中获得最大值,首先是最大访问,其次是最大支出。

结果应显示在上图中的黄色突出显示部分。

下面是我的代码。请以更好的方式帮助我。

select tt.*
from #max_location as tt,
     (select member_number, 
             max(max_visit) as maxvisit,
             max(spending) as maxspending
      from #max_location
      group by member_number) as max_visit
where tt.member_number = max_visit.member_number 
  and tt.max_visit = max_visit.maxvisit
  and tt.spending = max_visit.maxspending 
order by tt.member_number desc
SELECT      member_number, 
            MAX(max_visit) AS maxvisit,
            MAX(spending) AS maxspending
FROM        #max_location 
GROUP BY    member_number

这将是 ANSI/ISO SQL 编写查询的方式:

select tt.*
from #max_location tt
join (
       select member_number, 
              max(max_visit) as max_visit,
              max(spending)  as max_spending
       from #max_location
       group by member_number
     ) as mv on mv.member_number = tt.member_number
            and mv.max_visit     = tt.max_visit 
            and mv.max_spending  = tt.spending 
order by tt.member_number desc