在 SQL 中选择具有一个最大值但另一个最小值的项目 [关闭]
Posted
技术标签:
【中文标题】在 SQL 中选择具有一个最大值但另一个最小值的项目 [关闭]【英文标题】:Selecting Item that has Max of one but Min of another in SQL [closed] 【发布时间】:2020-09-20 19:12:23 【问题描述】:我有一张表格,其中列出了球队的球员、球队的年数以及得分。我要做的是返回得分最多且在团队中最少年数的人。这就是我所做的:
SELECT player
FROM team
GROUP BY player
HAVING MAX(points) and MIN(years);
表格示例和预期输出:
player | years | points
-------+-------+---------
p1 | 2 | 200
p2 | 5 | 10
p3 | 1 | 500
从这里我希望回到 p3,因为他们有几年的最小值和积分的最大值。
【问题讨论】:
您使用的是哪个 dbms? 我正在使用 Microsoft Access。 哪个更重要,MAX(点)还是 MIN(年)? 我想 OP 两者都想要,即最高点数或最低年数。 Edit 问题并提供minimal reproducible example。 【参考方案1】:这将为您提供最高分的玩家,以及最低年限的玩家:
SELECT player, points, years
FROM team
where points = (select max(points) from team)
or years = (select min(years) from team)
【讨论】:
我认为他希望同时满足这两个条件,所以它应该有 'AND' 而不是 'OR' @AndreiManolache,只要最年轻的人得分不高,这可能会返回零行。以上是关于在 SQL 中选择具有一个最大值但另一个最小值的项目 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章