Requete SQL avec un élémént choisi en tête de liste

Neptune50 -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je voudrais faire une requete sur la table "Pays" mais que "France" arrive en tête.

Merci par avance

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Si mysql
SELECT T.nom
FROM(
  SELECT nom 
      , IF(nom="France",1,2) as ORDRE
  FROM pays 
)T
order by T.ORDRE, T.nom



Si SqlServer (version >= 2012 )
SELECT T.nom
FROM(
  SELECT nom 
      , IIF(nom="France",1,2) as ORDRE
  FROM pays 
)T
order by T.ORDRE, T.nom


Dans les deux cas, via un case when
SELECT T.nom
FROM(
  SELECT nom 
      , (CASE nom
          WHEN "France" THEN "1"
          ELSE "2"
        END
        )as ORDRE
  FROM pays 
)T
order by T.ORDRE, T.nom

1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour
Quelle est la structure de ta table et que contient 'elle ?
0
jee pee Messages postés 41518 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Bonjour,

C'est quoi exactement ton SGBD, car souvent sql server est choisi à tort, sans savoir.

tu pourrais essayer

select nom from pays where nom = "France" order by nom
union
select nom from pays where nom != "France" order by nom 

mais il semble que cela ne fonctionne pas sous mysql, un seul order by étant possible en fin.

ou

select nom from 
(
select 1 as ordre, nom from pays where nom = "France" 
union
select 2 as ordre, nom from pays where nom != "France"
)
order by ordre, nom


Cdlt
0