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
我有 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