Jadi dari komentar dan penambahan SqlFiddle sepertinya Anda ingin membuat nomor baris yang dipartisi dengan prioritas pada AS per platform dan kemudian pilih catatan pertama. Salah satu cara melakukan Partitioned Row Numbers di mysql adalah dengan menggunakan variabel berikut contohnya:
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
Pada dasarnya ini mempartisi nomor baris berdasarkan platform, memesan AS sebelum wilayah lain mana pun dan kemudian memilih baris pertama untuk setiap platform. Satu-satunya pertanyaan/trik adalah bagaimana Anda memilih mana yang akan dikembalikan ketika AS tidak tersedia untuk platform hanya dengan urutan abjad dari teritori_id?