首页 > 解决方案 > SQL选择同一列中的多个条件

问题描述

我想在同一列“政党”中根据不同的标准选择美国总统的名字。

我想要实现的是选择在他们的政党任职时间最长的总统的名字。我能够找到每个政党的最长年限,并选择任职这些年限的总统的姓名,但标准不适用于每个政党。请参阅下面的代码:

select name, party, years_served
from president
where years_served in (select max(years_served) from president group by party)
order by years_served desc

有人可以帮我结合各方关于不同最长服务年限的标准吗?提前致谢! 数据库快照当前结果所需结果

标签: sql

解决方案


你可以试试这个:

select name, party, years_served
from president r
where r.years_served = (select max(years_served) from president p where p.party=r.party);

这意味着如果他/她在他/她的政党中的任职年限相同,则选择总统。 r并且p只是别名


推荐阅读