Aus den Kommentaren und dem Hinzufügen von SqlFiddle geht hervor, dass Sie tatsächlich eine partitionierte Zeilennummer mit einem Vorrang von US pro Plattform erstellen und dann den ersten Datensatz auswählen möchten. Eine Möglichkeit, partitionierte Zeilennummern in MySQL zu erstellen, besteht darin, Variablen zu verwenden. Hier ein Beispiel:
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-Geige:http://sqlfiddle.com/#!9/81c3b6/12
Im Grunde partitioniert dies die Zeilennummer nach Plattform, ordnet US vor jedem anderen Gebiet an und wählt dann die erste Zeile für jede Plattform aus. Die einzige Frage/Trick ist, wie wählen Sie aus, was zurückgegeben werden soll, wenn US für die Plattform nicht verfügbar ist, einfach die aufsteigende alphabetische Reihenfolge der territorial_id?