Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

SQL Memilih tanggal dengan penjualan maksimum untuk setiap departemen

Anda dapat mencoba cara di bawah ini-

with cte as 
(
 SELECT 
 Departments.Name, SALES.Date_sale, SUM(GOODS.Price * SALES.Quantity) 
 AS profit FROM DEPARTMENTS inner join GOODS on DEPARTMENTS.Dept_id = GOODS.Dept_id
 inner join SALES on GOODS.Good_id = SALES.Good_id
 GROUP BY DEPARTMENTs.Name, SALES.Date_sale
)A

select * from cte a
where profit =
     (select max(profit) from cte b on a.department=b.department)

ATAU Anda dapat menggunakan row_number()

select * from
(
select *, row_number() over(partition by department oder by profit desc) as rn
from cte
)A where rn=1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Impor Massal Oracle

  2. Cara yang lebih baik untuk menyusun pernyataan PL/SQL IF THEN?

  3. Apakah karakter garis miring ini dalam skrip Oracle PL/SQL merupakan kesalahan?

  4. Tanggal Pengembalian tidak mendapatkan jam dan menit kembali

  5. Bagaimana cara memeriksa apakah array berisi string tertentu?