Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL SELECT ORDER BY множество колони в зависимост от стойността на друга колона

В текущата си заявка подреждате по сбора от четирите колони. Можете да използвате least за да получите най-ниската стойност, така че вашата поръчка по клауза може да изглежда така:

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

Разбира се, това ще се сортира само по най-ниската стойност. Ако и двата реда споделят една и съща най-ниска стойност, няма сортиране на втората най-ниска стойност. Да направите това е доста по-трудно и наистина не разбрах от въпроса ви дали имате нужда от това.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. веригата се присъединява обратно към целевата таблица

  2. Управлявайте MySQL с phpMyAdmin на Ubuntu 10.10 (Maverick)

  3. връщане на редовете към стойността на колоната по подразбиране mysql

  4. PHP/MySQL Изтрийте изображение от базата данни

  5. Висока цифрова прецизност плава с MySQL и SQLAlchemy ORM