RSSPHP

Sort by Substring

Sort by SubstringTrong các bài trước chúng ta đã nghiên cứu rất kỹ về chủ đề sắp xếp dữ liệu trong quá trình truy vấn. Không chỉ sắp xếp theo một điều kiện mà còn nhiều điều kiện, theo những mệnh đề điều kiện đã chỉ định trước. Và một trong những chủ đề không thể thiếu trong quá trình truy vấn là sắp xếp dữ liệu theo mệnh đề Order By có lồng Substring

1. Vấn đề

Trong các bài trước chúng ta đã nghiên cứu rất kỹ về chủ đề sắp xếp dữ liệu trong quá trình truy vấn. Không chỉ sắp xếp theo một điều kiện mà còn nhiều điều kiện, theo những mệnh đề điều kiện đã chỉ định trước. Và một trong những chủ đề không thể thiếu trong quá trình truy vấn là sắp xếp dữ liệu theo mệnh đề Order By có lồng Substring

  SELECT  <col1, col2, col3, ….>
  FROM  <table name>
  WHERE  <col1 = value1,…>
  ORDER  BY Substring(col1,…)

2. Coding

Sử dụng truy vấn của mệnh trên áp dụng vào ví dụ như sau: hãy sắp xếp dữ liệu trong bảng products thỏa mãn điều kiện lấy ký tự đầu tiên của mỗi sản phẩm và sắp xếp chúng theo một thứ tự giảm dần và có UnitPrice >30.

Dựa vào ví dụ trên ta có thể phân tích lọc ra các dữ liệu có ký tự đầu tiên. Để làm được điều này bạn cần sử dụng function Substring. Substring là một function có 3 đối số truyền vào. Một là tên của column gọi trong ví dụ này là ProductName. Thứ hai là đối số vị trí bắt đầu cắt chuỗi phải là giá trị số, và thứ ba là độ dài của chuỗi phải là con số.

Và điều kiện nữa là sử dụng điều kiện WHERE để lấy ra các giá trị lớn hơn 30

 Substring  (exprestion, start position, length)

Ta cài đặt mã lệnh trên như sau

SELECT [ProductID]
,[ProductName]
,[CategoryID]
,[UnitPrice]
FROM [Products]
WHERE UnitPrice >30
ORDERBYSUBSTRING(Productname,0,2)DESC

ORDERBYSUBSTRING(Productname,0,2)DESC chính là lấy ký tự đầu tiên trong dãy dữ liệu và dùng từ khóa DESC để sắp xếp dữ liệu giảm dần

Kết quả của câu lệnh truy vấn trên ta được 24 kết quả như sau

sort by substring

Như vậy chúng ta đã hiểu biết thêm về một loại truy vấn mà điều kiện truy vấn là ở Order By không phải hoàn toàn ở mệnh đề WHERE

GV Hồ Đức Duy

Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để website ngày càng phát triển hơn. Xin cám ơn bạn!

Nếu là khách, bạn phải đăng ký tài khoản và kích hoạt tài khoản để bình luận được hiển thị ở đây.
Thông tin kích hoạt gửi đến mail của bạn.

Tin mới hơn

Tin cũ hơn

Lên trên đầu