Vì vậy, từ các nhận xét và việc bổ sung SqlFiddle, có vẻ như bạn muốn tạo một số hàng được phân vùng với mức độ ưu tiên trên US cho mỗi nền tảng và sau đó chọn bản ghi đầu tiên. Một cách để thực hiện Số hàng được phân vùng trong mysql là sử dụng các biến ở đây là một ví dụ:
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
Về cơ bản, điều này phân vùng số hàng theo nền tảng, đặt hàng Hoa Kỳ trước bất kỳ lãnh thổ nào khác và sau đó chọn nền tảng đặt trước hàng đầu tiên. Một câu hỏi / mẹo là làm cách nào để bạn chọn trả lại khi Hoa Kỳ không có sẵn cho nền tảng chỉ đơn giản là thứ tự bảng chữ cái tăng dần của lãnh thổ_id?