sql >> Database teknologi >  >> RDS >> Oracle

Oracle dynamisk DESC og ASC i rækkefølge efter

Hvis du også vil gøre sorteringsrækkefølgen (ASC/DESC) dynamisk, kan du gøre følgende:

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

med en variabel l_so der indeholder 1 eller -1 afhængigt af hvilken sorteringsrækkefølge du ønsker.



  1. 1114 (HY000):Bordet er fyldt

  2. Sådan finder du gennemsnittet af en numerisk kolonne i SQL

  3. Top ti grunde til at migrere fra Oracle til PostgreSQL

  4. Sådan konfigureres SELinux til MySQL-baserede systemer (MySQL/MariaDB Replication + Galera)