Menu
CoddyTech

Hàm tổng hợp

Bài học 11 trên 13 trong khóa học SQL nâng cao của Coddy.

Các hàm tổng hợp dùng để tính AVG(), MAX() hoặc bất kỳ hàm tổng hợp nào khác cho đến hàng hiện tại.
Ví dụ, ta có thể tính doanh thu cao nhất đạt được tính đến từng kỳ cuối:

thángdoanh thu
440
520
660
755
861
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

Kết quả trả về:

thángdoanh thumax_revenue
44040
52040
66060
75560
86161

Trong tháng 4 và 5, doanh thu cao nhất là 40; trong tháng 5 và 6, doanh thu cao nhất là 60; còn trong tháng 8, con số này là 61. Đó là vì khi tìm thấy doanh thu mới cao hơn, hàm loại bỏ giá trị cũ và dùng mức cao nhất tính đến lúc đó.

Với hàm AVG(), kết quả sẽ như sau:

SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1
thángdoanh thuavg_revenue
44040
52030
66040
75543.75
86147.2
challenge icon

Thử thách

Dễ

Sách có nhiều trang và mỗi trang có rất nhiều từ.

Trong thử thách này, chúng ta sẽ tính nhiều chỉ số khác nhau về những cuốn sách này.

Với từng cuốn sách, hãy lấy tổng số từ, số từ lớn nhất, số từ nhỏ nhất và số từ trung bình tính đến từng trang, rồi lần lượt đặt tên cho các cột này là: total_words, max_words, min_words, avg_words. Ngoài ra, hãy xếp hạng các trang theo thứ hạng dày đặc (trong từng cuốn sách) bằng cách tính tỷ lệ: (avg_words-min_words)/(total_words-min_words) theo thứ tự tăng dần trong từng cuốn sách, rồi đặt tên cột này là ratio_rank. Cuối cùng, sắp xếp kết quả theo book và ratio_rank theo thứ tự tăng dần.

Tự làm thử

Tất cả bài học trong SQL nâng cao

Tự luyện tập: Trình biên dịch Python online