sql >> Database >  >> RDS >> Oracle

Oracle dynamische DESC en ASC op volgorde van:

Als u de sorteervolgorde (ASC/DESC) ook dynamisch wilt maken, kunt u het volgende doen:

SELECT ...
Order By CASE WHEN InputParam = 'PRICE' THEN l_so * OFFER_PRICE END,
         CASE WHEN InputParam = 'ENDING SOON' 
              THEN l_so * (SYSDATE - EXPIRY_DATE) END, 
         CASE WHEN InputParam = 'DISCOUNT' THEN l_so * DISC_PERCENTAGE END,
         CASE WHEN InputParam = 'SAVING' THEN l_so * SAVING END

met een variabele l_so die 1 of -1 bevat, afhankelijk van de gewenste sorteervolgorde.



  1. Verbinding maken met een MySQL- of MariaDB-database

  2. Hoe schrijf ik LINQ's .Skip(1000).Take(100) in pure SQL?

  3. Door MySQL opgestelde verklaringen

  4. Hoe SQLite Avg() werkt