ich eine MySQL-Tabelle mit den folgenden Daten (vereinfacht):Sortierung bestimmte Werte an die Spitze
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');
Nun, ich möchte eine paginierte Liste der Geschäfte erhalten können, die mit dem Kunden Land beginnt.
Zum Beispiel ein amerikanischer Kunde würde siehe die folgende Liste:
Foo
Baz
Bar
Foo2
Baz2
Bar3
Die naive Lösung, die ich jetzt bin mit (Beispiel mit einer amerikanischen Kunden und Seitengröße 3):
(SELECT * FROM stores WHERE country = "us") UNION (SELECT * FROM stores WHERE country != "us") LIMIT 0,3
Gibt es bessere Möglichkeiten, dies zu tun? Kann ORDER BY benutzt werden und gesagt werden, dass ein bestimmter Wert an der Spitze steht?
Ahh, genau das habe ich gesucht, danke – truppo