首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从包含类别的表中选择Min & Max

从包含类别的表中选择Min & Max
EN

Stack Overflow用户
提问于 2018-03-15 15:52:08
回答 2查看 1.7K关注 0票数 0

我有一个多列的表。我需要从整个表中获取min和max值,但也需要显示该min和max值在哪个类别中。我需要的列名是Asset_Type和Asset_Value。有多种(5+)资产类型,但我只需要显示最小值和最大值的资产类型。

代码语言:javascript
运行
复制
SELECT Asset_Type, MAX(Asset_Value), MIN(Asset_Value) 
FROM Asset
GROUP BY Asset_Type

这就是我所拥有的,但是对于每种资产类型,这都是min和max,而不仅仅是表的min和max。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-15 16:08:09

考虑到max值可能具有与min值不同的Asset_type值,您需要将其单独查询(此处不考虑可能存在多个具有相同min/max值的Asset_types )。

代码语言:javascript
运行
复制
(select 'max', Asset_Type, max(Asset_Value) as 'Asset_Value'
 from Asset
 group by Asset_Type
 order by 3 desc
 limit 1)
union all
(select 'min', Asset_Type, min(Asset_Value)
 from Asset
 group by Asset_Type
 order by 3 asc
 limit 1)
票数 1
EN

Stack Overflow用户

发布于 2018-03-15 16:15:16

可以有许多具有最小值的资产类型,还有许多具有最大值的资产类型。因此,只需选择值与最小值或最大值匹配的所有asset_types (在子查询中查找该值):

代码语言:javascript
运行
复制
select distinct asset_value, asset_type
where asset_value = (select min(asset_value) from asset)
   or asset_value = (select max(asset_value) from asset)
order by asset_value, asset_type;

编写此查询还有其他方法,但思路仍然相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49303879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档