J'ai une table MySQL avec les données suivantes (simplifiées):
(SELECT * FROM stores WHERE country = "us") UNION (SELECT * FROM stores WHERE country != "us") LIMIT 0,3
5 Réponses :
Vous devez relier chaque valeur d'un pays avec un cas numérique, avec un cas:
Créez une table de codes et commandes de pays, y adhérez-y dans votre requête, puis commandez par la commande du code de pays.
Vous auriez donc une table qui ressemble à p> puis le code qui ressemble à: p>
Que diriez-vous d'utiliser si code> pour attribuer la valeur supérieure aux lignes américaines.
select if(country_cd='us,'aaaUS',country_cd) sort_country_cd, country_cd from stores Order by sort_country_cd
Sélectionnez Country_Code, Nom du pays à partir de Pays Order by SI (Country_Code in ('Ca', 'US'), 0,1), Country_Name
Essayez ceci:
SELECT * FROM stores ORDER BY country = "us" DESC, storeId
Pour obtenir la recherche du pays d'abord, et le reste alphabétiquement: