Chọn 10 hàng trên cùng trong SQL

Chon 10 Hang Tren Cung Trong Sql



Khi làm việc trong cơ sở dữ liệu SQL, chúng ta có thể gặp các trường hợp cần tìm nạp một tập hợp con các hàng cụ thể từ một bảng nhất định. Điều này cho phép chúng tôi giới hạn các tài nguyên cần thiết để tìm nạp các giá trị từ bảng.

May mắn thay, trong SQL, chúng ta có quyền truy cập vào mệnh đề LIMIT, cho phép chúng ta kiểm soát số lượng hàng được trả về trong một tập kết quả nhất định. Tính năng này rất hữu ích khi chúng ta đang xử lý một tập dữ liệu lớn và không thực sự cần toàn bộ hàng mà thay vào đó là một tập hợp con của nó. Điều này có thể là để có được bố cục của dữ liệu hoặc bản trình bày.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng và làm việc với mệnh đề LIMIT trong cơ sở dữ liệu SQL để chỉ định số lượng hàng mà chúng ta muốn truy xuất từ ​​cơ sở dữ liệu.







Yêu cầu:

Trước khi đi sâu vào hoạt động và cách sử dụng mệnh đề LIMIT trong SQL, chúng ta hãy thảo luận về một số yêu cầu cơ bản cho hướng dẫn này.



Để làm theo bài đăng này, bạn sẽ cần những điều sau:



  1. MySQL 8.0 trở lên hoạt động với MySQL 5
  2. Truy cập vào cơ sở dữ liệu mẫu Sakila
  3. Quyền truy vấn các hàng từ cơ sở dữ liệu đích (quyền truy cập đọc)

Khi đã đáp ứng được các yêu cầu nhất định, chúng ta có thể tiếp tục với hướng dẫn này.





GIỚI HẠN SQL

Trong SQL, mệnh đề LIMIT cho phép chúng ta hạn chế số lượng hàng được trả về từ một truy vấn SQL nhất định. Ví dụ: trong câu lệnh chọn, thay vì trả về tất cả các hàng từ bảng có thể chứa hơn 1000 bản ghi, chúng ta có thể chọn chỉ xem 10 hàng đầu tiên.

Sau đây trình bày cú pháp cơ bản của mệnh đề LIMIT trong SQL:



CHỌN col1, col2, ...

TỪ tbl_name

GIỚI HẠN num_hàng;

Trong ví dụ này, chúng tôi đang sử dụng mệnh đề LIMIT kết hợp với câu lệnh SELECT.

Từ cú pháp đã cho, “tbl_name” đại diện cho tên của bảng mà chúng ta muốn lấy dữ liệu.

“num_rows” cho phép chúng ta chỉ định số hàng tối đa được trả về trong tập kết quả.

Ví dụ 1: Giới hạn số hàng

Vai trò cơ bản và phổ biến nhất của mệnh đề LIMIT là đặt số hàng tối đa có trong tập kết quả.

Giả sử chúng ta muốn sử dụng bảng “phim” từ cơ sở dữ liệu mẫu Sakila. Tuy nhiên, vì chúng ta không muốn tìm nạp tất cả các hàng liên quan nên chúng ta có thể chọn 10 hàng đầu tiên như trong mệnh đề ví dụ sau:

CHỌN * TỪ phim

GIỚI HẠN 10 ;

Khi chúng tôi chạy truy vấn đã cho, chúng tôi sẽ nhận được kết quả như sau:

  Ảnh chụp màn hình máy tính Mô tả được tạo tự động

Trong ví dụ này, chúng tôi sử dụng mệnh đề LIMIT để giới hạn tập hợp kết quả ở 10 hàng. Điều này lấy 10 hàng đầu tiên từ kết quả.

Ví dụ 2: Sử dụng giá trị OFFSET

Trong một số trường hợp, chúng ta có thể muốn bỏ qua hoặc bỏ qua một số hàng cụ thể. Ví dụ: giả sử chúng tôi chỉ muốn truy xuất năm phần tử, nhưng chúng tôi muốn bắt đầu ở vị trí 20. Chúng tôi có thể sử dụng tham số OFFSET cho phép chúng tôi yêu cầu mệnh đề LIMIT tại vị trí mà chúng tôi muốn bắt đầu.

Điều này đặc biệt hữu ích khi bạn cần triển khai phân trang trong một tập dữ liệu lớn như trong ví dụ sau:

CHỌN film_id, tiêu đề, năm phát hành, `thời lượng` TỪ phim

GIỚI HẠN 10 BÙ LẠI hai mươi ;;

Điều này sẽ trả về 10 hàng bắt đầu từ vị trí 20 như sau:

Như bạn có thể thấy từ kết quả đã cho, “film_id” bắt đầu bắt đầu ở vị trí 21 và tiến tới vị trí 30.

Ví dụ 3: Sử dụng mệnh đề Order BY

Một cách sử dụng phổ biến khác của mệnh đề LIMIT là kết hợp với mệnh đề ORDER BY. Điều này cho phép chúng tôi truy xuất số lượng hàng cụ thể dựa trên một thứ tự cụ thể. Điều này có thể bao gồm việc sắp xếp cơ bản (tăng dần hoặc giảm dần), v.v.

Ví dụ: giả sử chúng ta muốn truy xuất 10 bộ phim dài nhất từ ​​bảng “phim”. Chúng ta có thể sử dụng mệnh đề ORDER BY để sắp xếp các giá trị dựa trên độ dài và sau đó giới hạn 10 hàng đầu tiên.

Một ví dụ như sau:

CHỌN f.film_id, f.title, f.length

TỪ phim f

ĐẶT HÀNG THEO chiều dài DESC

GIỚI HẠN 10 ;

Trong trường hợp này, chúng tôi sử dụng mệnh đề ORDER BY để sắp xếp các hàng theo thứ tự giảm dần (cao nhất đến thấp nhất) rồi tìm nạp 10 hàng đầu tiên bằng mệnh đề LIMIT.

Bộ kết quả như sau:

  Bảng danh sách Mô tả được tạo tự động với độ tin cậy trung bình

Ở đó bạn có nó!

Phần kết luận

Trong bài đăng này, chúng ta đã tìm hiểu các nguyên tắc cơ bản và tính năng nâng cao khi làm việc với mệnh đề LIMIT trong cơ sở dữ liệu SQL.