J'ai une table MySQL avec les données suivantes (simplifié):Tri certaines valeurs au sommet
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');
Maintenant, je veux être en mesure d'obtenir une liste paginée des magasins qui commence par le pays des clients.
Par exemple, un client américain verrait la liste suivante:
Foo
Baz
Bar
Foo2
Baz2
Bar3
La solution naïve que je utilise en ce moment (exemple avec un client américain et Taille de la page 3):
(SELECT * FROM stores WHERE country = "us") UNION (SELECT * FROM stores WHERE country != "us") LIMIT 0,3
Y a-t-il de meilleures façons de faire cela? Est-ce que ORDER BY peut être utilisé et dit de mettre une certaine valeur en haut?
Ahh, c'est exactement ce que je cherchais, merci – truppo