Tengo una tabla MySQL con los siguientes datos (simplificado):Ordenación de ciertos valores a la
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');
Ahora, quiero ser capaz de obtener una lista paginada de tiendas que comienza con el país clientes.
Por ejemplo, un cliente americano vería la siguiente lista:
Foo
Baz
Bar
Foo2
Baz2
Bar3
La solución ingenua que estoy usando en este momento (ejemplo con un cliente y la página de tamaño americano 3):
(SELECT * FROM stores WHERE country = "us") UNION (SELECT * FROM stores WHERE country != "us") LIMIT 0,3
¿Hay alguna forma mejor de hacer esto? ¿Se podría usar ORDER BY y se le podría indicar que coloque un cierto valor en la parte superior?
Ahh, esto es exactamente lo que estaba buscando, gracias – truppo