Mysql
 sql >> Base de données >  >> RDS >> Mysql

Choisir le salaire le plus élevé

  SELECT name, wage, highhours
    FROM wagetable
   WHERE name like 'Brian' OR
         name like 'Default'
ORDER BY name,
         highhours desc

Cette requête fonctionne lors de la requête pour Brian , mais pour que cela fonctionne pour n'importe quel nom, le Default doit être stocké dans votre base de données en commençant par un caractère spécial [email protected] , car les chiffres et les lettres viennent en premier dans le tri.

Une autre façon serait pour vous de créer une autre colonne dans la table, pour les besoins de notre argument, appelée priority qui doit avoir la valeur 0 pour Default et 1 pour tout autre utilisateur. Ensuite, vous pouvez simplement faire :

  SELECT name, wage, highhours
    FROM wagetable
   WHERE name like 'Brian' OR
         name like 'Default'
ORDER BY priority desc,
         highhours desc

Bien sûr, c'est la même solution, mais c'est une meilleure approche que de s'appuyer sur un caractère spécial dans le nom des valeurs par défaut.