Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Auswahl des höchsten Gehalts

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

Diese Abfrage funktioniert bei der Abfrage nach Brian , aber damit es für jeden Namen funktioniert, ist Default sollte in Ihrer Datenbank gespeichert werden, beginnend mit einem Sonderzeichen [email protected] , weil Zahlen und Buchstaben zuerst sortiert werden.

Eine andere Möglichkeit wäre für Sie, für unser Argument eine weitere Spalte mit dem Namen priority in der Tabelle zu erstellen die den Wert 0 haben sollte für Default und 1 für jeden anderen Benutzer. Dann könnten Sie einfach Folgendes tun:

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

Natürlich ist es die gleiche Lösung, aber es ist ein besserer Ansatz, als sich auf ein Sonderzeichen im Namen der Standardwerte zu verlassen.