Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybór najwyższej pensji

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

To zapytanie działa podczas zapytania o Brian , ale aby działał dla dowolnej nazwy, Default powinny być przechowywane w Twojej bazie danych, zaczynając od znaku specjalnego [email protected] , ponieważ cyfry i litery są na pierwszym miejscu w sortowaniu.

Innym sposobem byłoby utworzenie kolejnej kolumny w tabeli, ze względu na nasz argument, o nazwie priority który powinien mieć wartość 0 dla Default i 1 dla każdego innego użytkownika. Wtedy możesz po prostu zrobić:

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

Oczywiście jest to to samo rozwiązanie, ale jest to lepsze podejście niż poleganie na specjalnym znaku w nazwie wartości domyślnych.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy możliwe jest wykonanie ciągu w MySQL?

  2. Schemat bazy danych przyjaźni z jednym wierszem z pobraniem identyfikatora użytkownika z jednej lub drugiej kolumny

  3. Czy istnieje odpowiednik MySQL dla PostgreSQL array_to_string?

  4. jak uzyskać pozycję posortowanych wierszy za pomocą mysql i php

  5. java.sql.SQLException:Przed rozpoczęciem zestawu wyników