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

sql - oracle - wybór pierwszego i ostatniego rekordu dla określonej grupy/sku

Możesz skorzystać z PIERWSZY/OSTATNI funkcje agregujące w celu uproszczenia tego typu zapytań.

Skrzypce SQL

Zapytanie :

select
        sku,
        max(price) keep (dense_rank first order by purchase_date) first_purchase_price,
        max(price) keep (dense_rank last order by purchase_date) last_purchase_price
from
        store
group by
        sku;

Wyniki :

|    SKU | FIRST_PURCHASE_PRICE | LAST_PURCHASE_PRICE |
|--------|----------------------|---------------------|
|  BC123 |                 3.09 |                6.68 |
|  QERT1 |                 9.09 |               13.23 |
| QQQ789 |                 4.01 |                4.01 |
|  WW000 |               200.01 |              200.01 |
|  YZV11 |               230.23 |                6.68 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. literał nie pasuje do błędu ciągu formatu podczas aktualizacji tabeli sql

  2. Zwarcie Oracle CASE nie działa w grupie przez

  3. Jak sprawdzić, z jakiego poziomu izolacji transakcji korzysta dowolna sesja Oracle?

  4. Jaka jest właściwa komenda odbc do wywoływania procedury składowanej Oracle z parametrami z .Net?

  5. Nie można SUM(TO_NUMBER(pole varchar2)) :ORA 01722 [ORACLE]