sql >> Database >  >> RDS >> Mysql

Het hoogste salaris selecteren

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

Deze zoekopdracht werkt bij zoekopdrachten voor Brian , maar om voor elke naam te werken, moet de Default moet in uw database worden opgeslagen, beginnend met een speciaal teken [email protected] , omdat cijfers en letters op de eerste plaats komen bij het sorteren.

Een andere manier zou zijn om een ​​andere kolom voor de tabel te maken, omwille van ons argument, genaamd priority die de waarde 0 . zou moeten hebben voor Default en 1 voor elke andere gebruiker. Dan zou je gewoon kunnen doen:

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

Het is natuurlijk dezelfde oplossing, maar het is een betere benadering dan te vertrouwen op een speciaal teken in de naam van de standaardwaarden.




  1. MySQL - Meerdere WHEN-voorwaarden combineren in CASE

  2. #1055 - Expressie van de SELECT-lijst staat niet in de GROUP BY-clausule en bevat een niet-geaggregeerde kolom. Dit is niet compatibel met sql_mode=only_full_group_by

  3. PHP MySql:Boom afdrukken - Aankruisvak bovenliggend kind

  4. Hoe krijg je alle waarden in een kolom met PHP?