次のデータを含むMySQLテーブルがあります(簡略化):
INSERT INTO `stores` (`storeId`, `name`, `country`) VALUES
(1, 'Foo', 'us'),
(2, 'Bar', 'jp'),
(3, 'Baz', 'us'),
(4, 'Foo2', 'se'),
(5, 'Baz2', 'jp'),
(6, 'Bar3', 'jp');
ここで、顧客の国で始まる店舗のページ番号付きリストを取得できるようにしたいと考えています。
たとえば、アメリカの顧客には次のリストが表示されます。
Foo
Baz
Bar
Foo2
Baz2
Bar3
私が現在使用している単純なソリューション(アメリカの顧客とページサイズ3の例):
(SELECT * FROM stores WHERE country = "us") UNION (SELECT * FROM stores WHERE country != "us") LIMIT 0,3
これを行うより良い方法はありますか?ORDER BY
上部に特定の値を配置するように使用および指示できますか?