Så ud fra kommentarerne og tilføjelsen af SqlFiddle ser det faktisk ud til, at du vil oprette et partitioneret rækkenummer med en prioritet på USA pr. platform og derefter vælge den første post. En måde at lave partitionerede rækkenumre på i mysql er at bruge variabler her er et eksempel:
SELECT
territory_id
,platform_type_id
,store_url
FROM
( SELECT
*
,@PlatFormRowNum:= IF(@prevplatform = platform_type_id, @PlatFormRowNum + 1, 1) as PlatformRowNum
,@prevplatform:= platform_type_id
FROM
main_itemmaster m
CROSS JOIN (SELECT @prevplatform:='',@PlatFormRowNum=0) var
ORDER BY
platform_type_id
,CASE WHEN territory_id = 'US' THEN 0 ELSE 1 END
,territory_id
) t
WHERE
t.PlatformRowNum = 1
ORDER BY
t.platform_type_id
SQL Fiddle:http://sqlfiddle.com/#!9/81c3b6/12
Grundlæggende opdeler dette rækkenummeret efter platform, bestiller USA før ethvert andet territorium og vælger derefter den første række for hver platform. Det ene spørgsmål/trick er, hvordan vælger du, hvilken du vil returnere, når USA ikke er tilgængelig for platformen, blot den stigende alfabetiske rækkefølge af territory_id?