MIN和MAX SQL函数

时间:2017-03-15 23:02:01

标签: sql sql-server max min

我有一个问题,我不知道我的方法。

我有一张包含以下记录的表格。

enter image description here

我想要归还的是:

Result

基本上我需要返回的是具有Rank列最小值的记录的Documentid和Destination,但是对于结果列公司,需要返回的那个应该是具有最大Rank的那个。

我只能使用一个功能,但我很难同时创建/使用MIN和MAX功能来产生结果。

示例代码

function [dis] = dist_cross(mi,mj)
    dis = sqrt(sumsqr(cross(mi,mj)));
end

2 个答案:

答案 0 :(得分:1)

请试试这个......

select documentid, destination,
 (select max(Rank) from table1) [Company]
 from Table1
  where Rank = (select min(Rank) from table1)

答案 1 :(得分:0)

你想要这个吗?

DECLARE @tb TABLE(Documentid INT,[Rank] INT  ,Destination VARCHAR(10),Company VARCHAR(10))
INSERT @tb
SELECT 12393,1,'Westeros','CompanyA' UNION ALL
SELECT 12394,2,'Westeros','CompanyB' UNION ALL
SELECT 12395,3,'Essos','CompanyC' 
SELECT t.Documentid,t.Destination,t.MaxRank AS Company FROM (
    SELECT *,ROW_NUMBER()OVER(ORDER BY [Rank]) AS Seq,MAX([Rank])OVER() AS MaxRank FROM @tb
) AS t WHERE t.seq=1
Documentid  Destination Company
----------- ----------- -----------
12393       Westeros    3