Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

SQL Chọn ngày có doanh số bán tối đa cho từng bộ phận

Bạn có thể thử theo cách dưới đây-

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)

HOẶC bạn có thể sử dụng 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. ORA xóa / cắt ngắn

  2. Oracle Instant Client dành cho thiết bị Debian dựa trên ARM

  3. Tạo DDL cho đường cơ sở cho đường bay

  4. Kết nối cơ sở dữ liệu Luôn ngắt kết nối khi phát triển trên cùng một PC với DB

  5. Truy vấn đệ quy Oracle - Ngày tháng