标题略过,实例如下:对A,B,C,D,E这5个小组中的男女同学进行匹配,
匹配条件要求身高相同,
——而难点在于,这匹配要求最少的位移成本——即:如果小组A中的女同学,跟C,D,E组的男同学都有可匹配的,
C组可配的2男;
D组可配的10男;
E组可配的6男;那我们希望,A组先尽量跟D组的配对,配完D组后,再跟E组配,最后若还有剩的,才跟C组配,伪代码如下:SELECT 男ID
,ROW_NUMBER() OVER ( PARTITION BY ............ ORDER BY [可匹配数最多的组优先参与] )myNum
............
WHERE myNum = 1请教高手,如何是实现?
匹配条件要求身高相同,
——而难点在于,这匹配要求最少的位移成本——即:如果小组A中的女同学,跟C,D,E组的男同学都有可匹配的,
C组可配的2男;
D组可配的10男;
E组可配的6男;那我们希望,A组先尽量跟D组的配对,配完D组后,再跟E组配,最后若还有剩的,才跟C组配,伪代码如下:SELECT 男ID
,ROW_NUMBER() OVER ( PARTITION BY ............ ORDER BY [可匹配数最多的组优先参与] )myNum
............
WHERE myNum = 1请教高手,如何是实现?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货