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

SQL SELECT ORDER BY wiele kolumn w zależności od wartości innej kolumny

W bieżącym zapytaniu zamawiasz według sumy czterech kolumn. Możesz użyć least aby uzyskać najniższą wartość, więc klauzula order by może wyglądać tak:

SELECT *
FROM vehicle
ORDER BY
  `revisit` DESC,
  CASE WHEN `revisit` = 1 THEN LEAST(`FL`, `FR`, `RR`, `RL`) END ASC,
  CASE WHEN `revisit` = 0 THEN `date` END ASC

Oczywiście posortowałoby to tylko według najniższej wartości. Jeśli dwa wiersze mają tę samą najniższą wartość, nie ma sortowania według drugiej najniższej wartości. Zrobienie tego jest trochę trudniejsze i tak naprawdę nie zrozumiałem z twojego pytania, czy tego potrzebujesz.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. odczytaj BLOB z mysql za pomocą php PDO

  2. Nie można wstawić wartości pojedynczej kolumny w Pythonie za pomocą MySQL

  3. Błąd przygotowanej instrukcji mysql:MySQLSyntaxErrorException

  4. Jaki jest najbardziej kompaktowy sposób przechowywania różnic w bazie danych?

  5. Ustaw zadanie cron, aby zaktualizować informacje o artykule w zależności od wartości głosów