Mysql
 sql >> Database >  >> RDS >> Mysql

Selezione dello stipendio più alto

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

Questa query funziona quando si esegue una query per Brian , ma affinché funzioni con qualsiasi nome il Default dovrebbe essere memorizzato nel tuo database iniziando con un carattere speciale [email protected] , perché i numeri e le lettere vengono prima nell'ordinamento.

Un altro modo sarebbe creare un'altra colonna nella tabella, per il bene del nostro argomento, chiamata priority che dovrebbe avere il valore 0 per Default e 1 per qualsiasi altro utente. Quindi potresti semplicemente fare:

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

Ovviamente è la stessa soluzione, ma è un approccio migliore rispetto a fare affidamento su un carattere speciale nel nome dei valori predefiniti.