我有一个问题,我不知道我的方法。
我有一张包含以下记录的表格。
我想要归还的是:
基本上我需要返回的是具有Rank列最小值的记录的Documentid和Destination,但是对于结果列公司,需要返回的那个应该是具有最大Rank的那个。
我只能使用一个功能,但我很难同时创建/使用MIN和MAX功能来产生结果。
示例代码
function [dis] = dist_cross(mi,mj)
dis = sqrt(sumsqr(cross(mi,mj)));
end
答案 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