如何从查询中指定最大值和最小值?
Posted
技术标签:
【中文标题】如何从查询中指定最大值和最小值?【英文标题】:How to specified max and min value from query? 【发布时间】:2020-10-04 19:41:11 【问题描述】:我有这样的表格,我需要在表格中指定最高和最低价格。
id value price
1 aaa 100
2 bbb 200
3 ccc 300
像这样:
id value price status
1 aaa 100 min
2 bbb 200
3 ccc 300 max
使用此代码,我可以获得最大和最小价格值:
SELECT
min(price) as min_price
, max(price) as max_price
FROM
(
select *
From MyTable
) tmp;
【问题讨论】:
如果有平局怎么办?如果表中只有一行怎么办? 【参考方案1】:您需要使用max
、min
窗口函数如下。
declare @Test table (id int, [value] varchar(3), price money);
insert into @Test (id, [value], price)
values
(1, 'aaa', 100)
, (2, 'bbb', 200)
, (3, 'ccc', 300);
select *
, case when max(price) over () = price then 'max'
when min(price) over () = price then 'min'
else '' end status
from @Test;
返回:
id value price status
1 aaa 100.00 min
2 bbb 200.00
3 ccc 300.00 max
这不考虑关系,但是,您需要指定您希望在这种情况下发生的事情。
注意:如果您以后可以使用 DDL/DML 设置您的问题 - 这可以节省回答者的时间。
【讨论】:
你能给出按值设置分组的解决方案吗? @HadiRanji 请提出一个新问题。 ***.com/questions/70878041/…以上是关于如何从查询中指定最大值和最小值?的主要内容,如果未能解决你的问题,请参考以下文章
java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)
java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)
pandas使用groupby函数基于指定分组变量对dataframe数据进行分组使用min函数计算所有分组中指定数值变量的聚合最小值即字段在指定分组的最小值([]方括号指定需要计算的数值字段)