Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wybrać rekordy z maksymalnymi wartościami w dwóch kolumnach?

Funkcje analityczne są Twoim przyjacielem:

SELECT   MAX( year    ) KEEP ( DENSE_RANK LAST ORDER BY year ASC, quarter ASC, message ASC ) AS year,
         MAX( quarter ) KEEP ( DENSE_RANK LAST ORDER BY year ASC, quarter ASC, message ASC ) AS quarter,
         MAX( message ) KEEP ( DENSE_RANK LAST ORDER BY year ASC, quarter ASC, message ASC ) AS message,
         type
FROM     info
GROUP BY type;

SQLFIDDLE



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić typ danych CLOB NA VARCHAR2 (sql)

  2. Czy Oracle ma wbudowaną funkcję skrótu?

  3. Jak wybrać wszystkie kolumny z tabeli oraz dodatkowe kolumny, takie jak ROWNUM?

  4. Jak pozbyć się pustej, ale ogromnej kolumny LOB?

  5. Czy słowo kluczowe „as” jest wymagane w Oracle do zdefiniowania aliasu?