SQL cung cấp cho bạn các tùy chọn để truy xuất, phân tích và hiển thị thông tin bạn cần với các mệnh đề GROUP BY, HAVING và ORDER BY. Dưới đây là một số ví dụ về cách bạn có thể sử dụng chúng.

Mệnh đề GROUP BY

Đôi khi, thay vì truy xuất các bản ghi riêng lẻ, bạn muốn biết điều gì đó về một nhóm bản ghi. Mệnh đề GROUP BY là công cụ bạn cần.

Giả sử bạn là giám đốc bán hàng của một địa điểm khác và bạn muốn xem xét hiệu suất của lực lượng bán hàng của mình. Nếu bạn thực hiện một SELECT đơn giản, chẳng hạn như truy vấn sau:

 CHỌN InvoiceNo, SaleDate, Sales Nhân viên, TotalSale
 TỪ BÁN HÀNG; 

Kết quả này cung cấp cho bạn một số ý tưởng về việc nhân viên bán hàng của bạn đang hoạt động tốt như thế nào vì có quá ít tổng doanh số bán hàng tham gia. Tuy nhiên, trong thực tế, một công ty sẽ có nhiều doanh số hơn – và sẽ không dễ dàng để biết liệu các mục tiêu bán hàng có được đáp ứng hay không.

Để thực hiện phân tích thực, bạn có thể kết hợp mệnh đề GROUP BY với một trong các hàm tổng hợp (còn được gọi là hàm đặt ) để có được một bức tranh định lượng về hiệu suất bán hàng. Ví dụ: bạn có thể xem nhân viên bán hàng nào đang bán nhiều mặt hàng có lợi nhuận cao hơn bằng cách sử dụng hàm trung bình ( AVG ) như sau:

 CHỌN Nhân viên bán hàng, AVG (TotalSale)
 TỪ BÁN HÀNG
 NHÓM THEO nhân viên bán hàng; 

Chạy truy vấn với một hệ thống quản lý cơ sở dữ liệu khác sẽ nhận được cùng một kết quả, nhưng có thể xuất hiện khác một chút.

Giá trị trung bình của doanh số bán hàng của Bennett cao hơn đáng kể so với giá trị của hai nhân viên bán hàng còn lại. Bạn so sánh tổng doanh số với một truy vấn tương tự:

 CHỌN nhân viên bán hàng, SUM (TotalSale)
 TỪ BÁN HÀNG
 NHÓM THEO nhân viên bán hàng; 

Bennett cũng có tổng doanh số bán hàng cao nhất, phù hợp với doanh số bán hàng trung bình cao nhất.

CÓ mệnh đề

Bạn có thể phân tích thêm dữ liệu được nhóm bằng cách sử dụng mệnh đề HAVING . Mệnh đề HAVING là một bộ lọc hoạt động tương tự như mệnh đề WHERE , nhưng trên các nhóm hàng chứ không phải trên các hàng riêng lẻ. Để minh họa chức năng của mệnh đề HAVING , giả sử người quản lý bán hàng tự coi Bennett thuộc một lớp.

Hiệu suất của anh ta làm sai lệch dữ liệu tổng thể cho các nhân viên bán hàng khác. (Aha – kẻ phá hoại đường cong.) Bạn có thể loại trừ doanh số của Bennett khỏi dữ liệu được nhóm bằng cách sử dụng mệnh đề HAVING như sau:

 CHỌN nhân viên bán hàng, SUM (TotalSale)
 TỪ BÁN HÀNG
 NHÓM THEO nhân viên bán hàng
 CÓ Nhân viên bán hàng <> 'Bennett'; 

Chỉ những hàng mà nhân viên bán hàng không phải là Bennett mới được xem xét.

ĐẶT HÀNG THEO mệnh đề

Sử dụng mệnh đề ORDER BY để hiển thị bảng đầu ra của truy vấn theo thứ tự bảng chữ cái tăng dần hoặc giảm dần. Trong khi mệnh đề GROUP BY tập hợp các hàng thành các nhóm và sắp xếp các nhóm theo thứ tự bảng chữ cái, thì ORDER BY sẽ sắp xếp các hàng riêng lẻ. Mệnh đề ORDER BY phải là mệnh đề cuối cùng mà bạn chỉ định trong truy vấn.

Nếu truy vấn cũng chứa mệnh đề GROUP BY , thì trước tiên mệnh đề sắp xếp các hàng đầu ra thành các nhóm. Sau đó mệnh đề ORDER BY sẽ sắp xếp các hàng trong mỗi nhóm. Nếu bạn không có mệnh đề GROUP BY , thì câu lệnh coi toàn bộ bảng là một nhóm và mệnh đề ORDER BY sắp xếp tất cả các hàng của nó theo cột (hoặc các cột) mà mệnh đề ORDER BY chỉ định.

Để minh họa điểm này, hãy xem xét dữ liệu trong bảng BÁN HÀNG. Bảng SALES chứa các cột cho InvoiceNo , Ngày bán , Nhân viên bán hàng và < span class = "code"> TotalSale . Nếu sử dụng ví dụ sau, bạn sẽ thấy tất cả dữ liệu trong bảng BÁN HÀNG – nhưng theo thứ tự tùy ý:

 CHỌN * TỪ BÁN HÀNG; 

Trong một lần triển khai, đây có thể là thứ tự mà bạn đã chèn các hàng trong bảng; trong một triển khai khác, thứ tự có thể là của các bản cập nhật gần đây nhất. Thứ tự cũng có thể thay đổi bất ngờ nếu bất kỳ ai tổ chức lại cơ sở dữ liệu. Đó là một lý do thường là ý kiến ​​hay khi chỉ định thứ tự mà bạn muốn các hàng.

Ví dụ: bạn có thể muốn xem các hàng theo thứ tự Ngày bán hàng như thế này:

 CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO Ngày bán hàng; 

Ví dụ này trả về tất cả các hàng trong bảng BÁN HÀNG theo thứ tự trước Ngày bán .
Đối với các hàng có cùng Ngày bán hàng , thứ tự mặc định tùy thuộc vào việc triển khai. Tuy nhiên, bạn có thể chỉ định cách sắp xếp các hàng có cùng Ngày bán . Bạn có thể muốn xem doanh số cho từng Ngày bán theo thứ tự theo InvoiceNo , như sau:

 CHỌN * TỪ ĐƠN ĐẶT HÀNG BÁN HÀNG THEO Ngày bán, InvoiceNo; 

Ví dụ này đầu tiên đặt hàng bán theo Ngày bán ; sau đó đối với mỗi Ngày bán hàng , nó sẽ yêu cầu doanh số bán hàng theo InvoiceNo . Nhưng đừng nhầm lẫn ví dụ đó với truy vấn sau:

 CHỌN * TỪ ĐƠN ĐẶT HÀNG BÁN HÀNG THEO InvoiceNo, SaleDate; 

Truy vấn này đầu tiên đặt hàng bán hàng theo INVOICE_NO . Sau đó, đối với mỗi InvoiceNo khác nhau, truy vấn sắp xếp doanh số theo Ngày bán . Điều này có thể sẽ không mang lại kết quả như bạn mong muốn, vì không có khả năng tồn tại nhiều ngày bán hàng cho một số hóa đơn.

Truy vấn sau là một ví dụ khác về cách SQL có thể trả về dữ liệu:

 CHỌN * TỪ ĐƠN ĐẶT HÀNG BÁN HÀNG CỦA Người bán hàng, Ngày bán hàng; 

Ví dụ này đầu tiên đặt hàng theo Nhân viên bán hàng và sau đó đặt hàng theo Ngày bán . Sau khi bạn xem dữ liệu theo thứ tự đó, bạn có thể muốn đảo ngược nó, như sau:

 CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO Ngày bán, Nhân viên bán hàng; 

Ví dụ này sắp xếp các hàng trước tiên theo Ngày bán và sau đó theo Nhân viên bán hàng .

Tất cả các ví dụ sắp xếp này theo thứ tự tăng dần ( ASC ), là thứ tự sắp xếp mặc định. SELECT cuối cùng hiển thị doanh số bán hàng sớm hơn trước – và trong một ngày nhất định, hiển thị doanh số bán hàng cho ‘Adams’ trước ‘Baker’ . Nếu bạn thích thứ tự giảm dần ( DESC ), bạn có thể chỉ định thứ tự này cho một hoặc nhiều cột thứ tự, như sau:

 CHỌN * TỪ BÁN HÀNG
ĐẶT HÀNG THEO ngày bán hàng DESC, Nhân viên bán hàng ASC; 

Ví dụ này chỉ định thứ tự giảm dần cho các ngày bán, hiển thị doanh số bán hàng gần đây hơn đầu tiên và thứ tự tăng dần cho nhân viên bán hàng, xếp họ theo thứ tự bảng chữ cái. Điều đó sẽ cung cấp cho bạn bức tranh tốt hơn về cách hiệu suất của Bennett so với hiệu suất của các nhân viên bán hàng khác.

Bạn đang xem : nhóm theo và sắp xếp theo sql

{“appState”: {“pageLoadApiCallsStatus”: true}, “articleState”: {“article”: {“headers”: {“createTime”: “2016-03-26T14 : 00: 40 + 00: 00 “,” Thời gian sửa đổi “:” 2022-01-18T19: 15: 24 + 00: 00 “,” dấu thời gian “:” 2022-02-24T17: 07: 24 + 00: 00 “} , “data”: {“breadcrumbs”: [{“name”: “Technology”, “_links”: {“self”: “https://dummies-api.dummies.com/v2/categories/33512”}, “slug”: “technology”, “categoryId”: 33512}, {“name”: “Lập trình & amp; Thiết kế Web”, “_links”: {“self”: “https://dummies-api.dummies.com/ v2 / category / 33592 “},” slug “:” programming-web-design “,” categoryId “: 33592}, {” name “:” SQL “,” _links “: {” self “:” https: // dummies-api.dummies.com/v2/categories/33608″},”slug”:”sql”,”categoryId”:33608}],”title”:”Cách sử dụng GROUP BY, HAVING và ORDER BY SQL Clauses “,” stripeTitle “:” cách sử dụng mệnh đề nhóm theo, có và sắp xếp theo sql “,” slug “:” cách sử dụng-nhóm-theo-có-và-order-theo-sql-mệnh đề “, “canonicalUrl”: “”, “seo”: {“metaDescription”: “”, “noIndex”: 0, “noFollow”: 0}, “content”: “SQL cung cấp cho bạn các tùy chọn để truy xuất, phân tích zing và hiển thị thông tin bạn cần với các mệnh đề GROUP BY, HAVING và ORDER BY. Dưới đây là một số ví dụ về cách bạn có thể sử dụng chúng. \ R \ n & lt; h2 id = \ “tab1 \” & gt; GROUP BY mệnh đề & lt; / h2 & gt; \ r \ n Đôi khi, thay vì truy xuất các bản ghi riêng lẻ, bạn muốn biết điều gì đó về một nhóm các bản ghi. & Lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề là công cụ bạn cần. \ r \ n \ r \ n Giả sử bạn là giám đốc bán hàng của một địa điểm khác và bạn muốn xem xét hiệu quả hoạt động của lực lượng bán hàng của mình. Nếu bạn thực hiện một & lt; span class = \ “code \” & gt; SELECT & lt; / span & gt ;, đơn giản, chẳng hạn như truy vấn sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Hóa đơn Không, Ngày bán hàng, Người bán hàng , TotalSale \ r \ n FROM SALES; & lt; / pre & gt; \ r \ n & lt; img src = \ “https: //www.dummies.com/wp-content/uploads/SQLFDFigure101.jpg \” alt = \ “\ “width = \” 630 \ “height = \” 414 \ “/ & gt; \ r \ n \ r \ nKết quả này cung cấp cho bạn một số ý tưởng về mức độ hiệu quả của các nhân viên bán hàng của bạn vì có quá ít doanh số bán hàng tham gia. Tuy nhiên, trong thực tế, một công ty sẽ có nhiều doanh số hơn – và sẽ không dễ dàng để biết liệu các mục tiêu bán hàng có được đáp ứng hay không. \ R \ n \ r \ nĐể thực hiện phân tích thực tế, bạn có thể kết hợp & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề với một trong các hàm & lt; i & gt; tổng hợp & lt; / i & gt; (còn gọi là & lt; i & gt; đặt các hàm & lt; / i & gt;) để có được bức tranh định lượng về hiệu suất bán hàng. Ví dụ: bạn có thể xem nhân viên bán hàng nào đang bán nhiều mặt hàng có lợi nhuận cao hơn bằng cách sử dụng hàm trung bình (& lt; span class = \ “code \” & gt; AVG & lt; / span & gt;) như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Người bán hàng, AVG (TotalSale) \ r \ n TỪ NGƯỜI BÁN HÀNG \ r \ n NHÓM THEO Người bán hàng; & lt; / pre & gt; \ r \ n Chạy truy vấn bằng hệ thống quản lý cơ sở dữ liệu khác sẽ truy xuất cùng một kết quả, nhưng có thể hơi khác một chút. \ r \ n \ r \ n & lt; img src = \ “https: //www.dummies.com/wp-content/uploads/SQLFDFigure102.jpg \” alt = \ ” \ “width = \” 630 \ “height = \” 412 \ “/ & gt; \ r \ n \ r \ nGiá trị trung bình của doanh số bán hàng của Bennett cao hơn đáng kể so với hai nhân viên bán hàng còn lại. Bạn so sánh tổng doanh số với một truy vấn tương tự: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Người bán hàng, SUM (TotalSale) \ r \ n TỪ BÁN HÀNG \ r \ n NHÓM THEO Người bán hàng; & lt; / pre & gt; \ r \ n & lt; img src = \ “https: //www.dummies.com/wp-content/uploads/SQLFDFigure103.jpg \” alt = \ “\” width = \ “630 \” height = \ “412 \ “/ & gt; \ r \ n \ r \ nBennett cũng có tổng doanh số cao nhất, phù hợp với việc có doanh số trung bình cao nhất. \ r \ n & lt; h2 id = \” tab2 \ “& gt; HAVING các mệnh đề & lt; / h2 & gt; \ r \ nBạn có thể phân tích thêm dữ liệu được nhóm bằng cách sử dụng & lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; mệnh đề. & Lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; mệnh đề là một bộ lọc hoạt động tương tự như & lt; span class = \ “code \” & gt; WHERE & lt; / span & gt; nhưng trên các nhóm hàng chứ không phải trên các hàng riêng lẻ. Để minh họa chức năng của & lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; , giả sử người quản lý bán hàng coi Bennett là người của chính mình. \ r \ n \ r \ nHiệu suất của anh ta làm sai lệch dữ liệu tổng thể cho các nhân viên bán hàng khác. (Aha – kẻ phá hoại đường cong.) Bạn có thể loại trừ doanh số bán hàng của Bennett khỏi dữ liệu được nhóm bằng cách sử dụng & lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; mệnh đề như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Người bán hàng, SUM (TotalSale) \ r \ n TỪ BÁN HÀNG \ r \ n NHÓM THEO Người bán hàng \ r \ n CÓ Người bán hàng & lt; & gt; ‘ Bennett ‘; & lt; / pre & gt; \ r \ nChỉ những hàng mà nhân viên bán hàng không phải là Bennett mới được xem xét. \ R \ n \ r \ n & lt; img src = \ “https://www.dummies.com/wp-content/ uploads / SQLFDFigure104.jpg \ “alt = \” \ “width = \” 630 \ “height = \” 412 \ “/ & gt; \ r \ n & lt; h2 id = \” tab3 \ “& gt; ĐẶT HÀNG THEO mệnh đề & lt; / h2 & gt; \ r \ nSử dụng & lt; span class = \ “code \” & gt; ĐẶT HÀNG BẰNG & lt; / span & gt; để hiển thị bảng đầu ra của một truy vấn theo thứ tự bảng chữ cái tăng dần hoặc giảm dần. Trong khi & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề tập hợp các hàng thành nhóm và sắp xếp các nhóm theo thứ tự bảng chữ cái, & lt; span class = \ “code \” & gt; ĐẶT HÀNG THEO & lt; / span & gt; sắp xếp các hàng riêng lẻ. ĐƠN HÀNG & lt; span class = \ “code \” & gt;THEO & lt; / span & gt; mệnh đề phải là mệnh đề cuối cùng mà bạn chỉ định trong truy vấn. \ r \ n \ r \ nNếu truy vấn cũng chứa & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề, mệnh đề đầu tiên sắp xếp các hàng đầu ra thành các nhóm. & Lt; span class = \ “code \” & gt; ĐẶT HÀNG BẰNG & lt; / span & gt; sau đó sắp xếp các hàng trong mỗi nhóm. Nếu bạn không có & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; thì câu lệnh coi toàn bộ bảng là một nhóm và & lt; span class = \ “code \” & gt; ĐẶT HÀNG THEO & lt; / span & gt; mệnh đề sắp xếp tất cả các hàng của nó theo cột (hoặc các cột) mà & lt; span class = \ “code \” & gt; ĐẶT HÀNG THEO & lt; / span & gt; mệnh đề chỉ định. \ r \ n \ r \ nĐể minh họa điểm này, hãy xem xét dữ liệu trong bảng BÁN HÀNG. Bảng SALES chứa các cột cho & lt; span class = \ “code \” & gt; InvoiceNo & lt; / span & gt ;, & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;, & lt; span class = \ “mã \ “& gt; Nhân viên bán hàng & lt; / span & gt ;, và & lt; span class = \” code \ “& gt; TotalSale & lt; / span & gt ;. Nếu sử dụng ví dụ sau, bạn sẽ thấy tất cả dữ liệu trong bảng BÁN HÀNG – nhưng theo thứ tự tùy ý: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ BÁN HÀNG; & lt; / pre & gt; \ r \ nTrong một lần triển khai, đây có thể là thứ tự mà bạn đã chèn các hàng trong bảng; trong một triển khai khác, thứ tự có thể là của các bản cập nhật gần đây nhất. Thứ tự cũng có thể thay đổi bất ngờ nếu bất kỳ ai tổ chức lại cơ sở dữ liệu. Đó là một lý do tại sao bạn nên chỉ định thứ tự mà bạn muốn các hàng. \ R \ n \ r \ n Ví dụ: bạn có thể muốn xem các hàng theo thứ tự bằng mã & lt; span class = \ “\ “& gt; Ngày bán hàng & lt; / span & gt; như thế này: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO NGÀY GIẢM GIÁ; & lt; / pre & gt; \ r \ nVí dụ này trả về tất cả các hàng trong bảng BÁN HÀNG theo thứ tự & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt;. \ r \ nĐối với các hàng có cùng & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;, thứ tự mặc định tùy thuộc vào việc triển khai. Tuy nhiên, bạn có thể chỉ định cách sắp xếp các hàng chia sẻ cùng một & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;. Bạn có thể muốn xem doanh số cho từng & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt; theo thứ tự & lt; span class = \ “code \” & gt; Invoice Không & lt; / span & gt ;, như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO Ngày bán, Hóa đơn Không; & lt ; / pre & gt; \ r \ nVí dụ này đầu tiên đặt hàng bán hàng theo & lt; span class = \ “code \” & gt; Ngày bán hàng & lt; / span & gt ;; sau đó đối với mỗi & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;, nó sẽ yêu cầu doanh số bán hàng theo & lt; span class = \ “code \” & gt; Invoice Không & lt; / span & gt ;. Nhưng đừng nhầm lẫn ví dụ đó với truy vấn sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO Hóa đơn bán hàng của & lt; span class = \ “code \” & gt; INVOICE_NO & lt; / span & gt ;. Sau đó, đối với mỗi & lt; span class = \ “code \” & gt; InvoiceNo & lt; / span & gt ;, truy vấn đặt hàng bán hàng theo & lt; span class = \ “code \” & gt; Ngày bán & lt; / span & gt ;. Điều này có thể sẽ không mang lại kết quả như bạn mong muốn, vì không có khả năng tồn tại nhiều ngày bán cho một số hóa đơn. \ R \ n \ r \ n Truy vấn sau là một ví dụ khác về cách SQL có thể trả về dữ liệu: \ r \ n & lt ; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG CỦA Người bán hàng, Ngày bán hàng; & lt; / pre & gt; \ r \ nVí dụ này, các đơn đặt hàng đầu tiên của & lt; span class = \ “code \” & gt; Người bán hàng & lt; / span & gt ; và sau đó là & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;. Sau khi xem dữ liệu theo thứ tự đó, bạn có thể muốn đảo ngược dữ liệu đó, như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN ĐẶT HÀNG BÁN HÀNG THEO Ngày bán, Người bán hàng; & lt; / pre & gt; \ r \ nVí dụ này sắp xếp các hàng đầu tiên theo & lt; span class = \ “code \” & gt; Ngày bán & lt; / span & gt; và sau đó là & lt; span class = \ “code \” & gt; Người bán hàng & lt; / span & gt;. \ r \ n \ r \ nTất cả các ví dụ sắp xếp này đều theo thứ tự tăng dần (& lt; span class = \ “code \” & gt; ASC & lt; / span & gt;) order, là thứ tự sắp xếp mặc định. & Lt; span class = \ “code \” & gt; SELECT & lt; / span & gt; hiển thị doanh số bán hàng sớm hơn trước – và trong một ngày nhất định, hiển thị doanh số bán hàng cho & lt; span class = \ “code \” & gt; ‘Adams’ & lt; / span & gt; trước & lt; span class = \ “code \” & gt; ‘Baker’ & lt; / span & gt ;. Nếu bạn thích thứ tự giảm dần (& lt; span class = \ “code \” & gt; DESC & lt; / span & gt;), bạn có thể chỉ định thứ tự này cho một hoặc nhiều cột thứ tự, như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ BÁN HÀNG \ r \ nORDER THEO MÔ TẢ Ngày bán, Người bán hàng ASC; & lt; / pre & gt; \ r \ nVí dụ này chỉ định thứ tự giảm dần cho các ngày bán, hiển thị doanh số bán hàng gần đây hơn trước và tăng dần đặt hàng cho nhân viên bán hàng, xếp họ theo thứ tự bảng chữ cái. Điều đó sẽ cung cấp cho bạn bức tranh tốt hơn về cách hiệu suất của Bennett vượt trội so với hiệu suất của các nhân viên bán hàng khác. “,” Description “:” SQL cung cấp cho bạn các tùy chọn để truy xuất, phân tích và hiển thị thông tin bạn cần với GROUP BY, HAVING và ORDER BY mệnh đề. Dưới đây là một số ví dụ về cách bạn có thể sử dụng chúng. \ R \ n & lt; h2 id = \ “tab1 \” & gt; GROUP BY mệnh đề & lt; / h2 & gt; \ r \ n Đôi khi, thay vì truy xuất các bản ghi riêng lẻ, bạn muốn biết điều gì đó về một nhóm các bản ghi. & Lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề là công cụ bạn cần. \ r \ n \ r \ n Giả sử bạn là giám đốc bán hàng của một địa điểm khác và bạn muốn xem xét hiệu quả hoạt động của lực lượng bán hàng của mình. Nếu bạn thực hiện một & lt; span class = \ “code \” & gt; SELECT & lt; / span & gt ;, đơn giản, chẳng hạn như truy vấn sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Hóa đơn Không, Ngày bán hàng, Người bán hàng , TotalSale \ r \ n FROM SALES; & lt; / pre & gt; \ r \ n & lt; img src = \ “https: //www.dummies.com/wp-content/uploads/SQLFDFigure101.jpg \” alt = \ “\ “width = \” 630 \ “height = \” 414 \ “/ & gt; \ r \ n \ r \ nKết quả này cung cấp cho bạn một số ý tưởng về mức độ hiệu quả của các nhân viên bán hàng của bạn vì có quá ít doanh số bán hàng tham gia. Tuy nhiên, trong thực tế, một công ty sẽ có nhiều doanh số hơn – và sẽ không dễ dàng để biết liệu các mục tiêu bán hàng có được đáp ứng hay không. \ R \ n \ r \ nĐể thực hiện phân tích thực tế, bạn có thể kết hợp & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề với một trong các hàm & lt; i & gt; tổng hợp & lt; / i & gt; (còn gọi là & lt; i & gt; đặt các hàm & lt; / i & gt;) để có được bức tranh định lượng về hiệu suất bán hàng. Ví dụ: bạn có thể xem nhân viên bán hàng nào đang bán nhiều mặt hàng có lợi nhuận cao hơn bằng cách sử dụng hàm trung bình (& lt; span class = \ “code \” & gt; AVG & lt; / span & gt;) như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Người bán hàng, AVG (TotalSale) \ r \ n TỪ NGƯỜI BÁN HÀNG \ r \ n NHÓM THEO Người bán hàng; & lt; / pre & gt; \ r \ n Chạy truy vấn bằng hệ thống quản lý cơ sở dữ liệu khác sẽ truy xuất cùng một kết quả, nhưng có thể hơi khác một chút. \ r \ n \ r \ n & lt; img src = \ “https: //www.dummies.com/wp-content/uploads/SQLFDFigure102.jpg \” alt = \ ” \ “width = \” 630 \ “height = \” 412 \ “/ & gt; \ r \ n \ r \ nGiá trị trung bình của doanh số bán hàng của Bennett cao hơn đáng kể so với hai nhân viên bán hàng còn lại. Bạn so sánh tổng doanh số với một truy vấn tương tự: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Người bán hàng, SUM (TotalSale) \ r \ n TỪ BÁN HÀNG \ r \ n NHÓM THEO Người bán hàng; & lt; / pre & gt; \ r \ n & lt; img src = \ “https: //www.dummies.com/wp-content/uploads/SQLFDFigure103.jpg \” alt = \ “\” width = \ “630 \” height = \ “412 \ “/ & gt; \ r \ n \ r \ nBennett cũng có tổng doanh số cao nhất, phù hợp với việc có doanh số trung bình cao nhất. \ r \ n & lt; h2 id = \” tab2 \ “& gt; HAVING các mệnh đề & lt; / h2 & gt; \ r \ nBạn có thể phân tích thêm dữ liệu được nhóm bằng cách sử dụng & lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; mệnh đề. & Lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; mệnh đề là một bộ lọc hoạt động tương tự như & lt; span class = \ “code \” & gt; WHERE & lt; / span & gt; nhưng trên các nhóm hàng chứ không phải trên các hàng riêng lẻ. Để minh họa chức năng của & lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; , giả sử người quản lý bán hàng coi Bennett là người của chính mình. \ r \ n \ r \ nHiệu suất của anh ta làm sai lệch dữ liệu tổng thể cho các nhân viên bán hàng khác. (Aha – kẻ phá hoại đường cong.) Bạn có thể loại trừ doanh số bán hàng của Bennett khỏi dữ liệu được nhóm bằng cách sử dụng & lt; span class = \ “code \” & gt; CÓ & lt; / span & gt; mệnh đề như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN Người bán hàng, SUM (TotalSale) \ r \ n TỪ BÁN HÀNG \ r \ n NHÓM THEO Người bán hàng \ r \ n CÓ Người bán hàng & lt; & gt; ‘ Bennett ‘; & lt; / pre & gt; \ r \ nChỉ những hàng mà nhân viên bán hàng không phải là Bennett mới được xem xét. \ R \ n \ r \ n & lt; img src = \ “https://www.dummies.com/wp-content/ uploads / SQLFDFigure104.jpg \ “alt = \” \ “width = \” 630 \ “height = \” 412 \ “/ & gt; \ r \ n & lt; h2 id = \” tab3 \ “& gt; ĐẶT HÀNG THEO mệnh đề & lt; / h2 & gt; \ r \ nSử dụng & lt; span class = \ “code \” & gt; ĐẶT HÀNG BẰNG & lt; / span & gt; để hiển thị bảng đầu ra của một truy vấn theo thứ tự bảng chữ cái tăng dần hoặc giảm dần. Trong khi & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề tập hợp các hàng thành nhóm và sắp xếp các nhóm theo thứ tự bảng chữ cái, & lt; span class = \ “code \” & gt; ĐẶT HÀNG THEO & lt; / span & gt; sắp xếp các hàng riêng lẻ. & Lt; span class = \ “code \” & gt; ĐẶT HÀNG BẰNG & lt; / span & gt; mệnh đề phải là mệnh đề cuối cùng mà bạn chỉ định trong truy vấn. \ r \ n \ r \ nNếu truy vấn cũng chứa & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; mệnh đề, mệnh đề đầu tiên sắp xếp các hàng đầu ra thành các nhóm. & Lt; span class = \ “code \” & gt; ĐẶT HÀNG BẰNG & lt; / span & gt; sau đó sắp xếp các hàng trong mỗi nhóm. Nếu bạn không có & lt; span class = \ “code \” & gt; GROUP BY & lt; / span & gt; thì câu lệnh coi toàn bộ bảng là một nhóm và & lt; span class = \ “code \” & gt; ĐẶT HÀNG THEO & lt; / span & gt; mệnh đề sắp xếp tất cả các hàng của nó theo cột (hoặc các cột) mà & lt; span class = \ “code \” & gt; ĐẶT HÀNG THEO & lt; / span & gt; mệnh đề chỉ định. \ r \ n \ r \ nĐể minh họa điểm này, hãy xem xét dữ liệu trong bảng BÁN HÀNG. Bảng SALES chứa các cột cho & lt; span class = \ “code \” & gt; InvoiceNo & lt; / span & gt ;, & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;, & lt; span class = \ “mã \ “& gt; Nhân viên bán hàng & lt; / span & gt ;, và & lt; span class = \” code \ “& gt; TotalSale & lt; / span & gt ;. Nếu sử dụng ví dụ sau, bạn sẽ thấy tất cả dữ liệu trong bảng BÁN HÀNG – nhưng theo thứ tự tùy ý: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ BÁN HÀNG; & lt; / pre & gt; \ r \ nTrong một lần triển khai, đây có thể là thứ tự mà bạn đã chèn các hàng trong bảng; trong một triển khai khác, thứ tự có thể là của các bản cập nhật gần đây nhất. Lệnh can cũng thay đổi bất ngờ nếu bất kỳ ai tổ chức lại cơ sở dữ liệu. Đó là một lý do tại sao bạn nên chỉ định thứ tự mà bạn muốn các hàng. \ R \ n \ r \ n Ví dụ: bạn có thể muốn xem các hàng theo thứ tự bằng mã & lt; span class = \ “\ “& gt; Ngày bán hàng & lt; / span & gt; như thế này: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO NGÀY GIẢM GIÁ; & lt; / pre & gt; \ r \ nVí dụ này trả về tất cả các hàng trong bảng BÁN HÀNG theo thứ tự & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt;. \ r \ nĐối với các hàng có cùng & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;, thứ tự mặc định tùy thuộc vào việc triển khai. Tuy nhiên, bạn có thể chỉ định cách sắp xếp các hàng chia sẻ cùng một & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;. Bạn có thể muốn xem doanh số cho từng & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt; theo thứ tự & lt; span class = \ “code \” & gt; Invoice Không & lt; / span & gt ;, như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO Ngày bán, Hóa đơn Không; & lt ; / pre & gt; \ r \ nVí dụ này đầu tiên đặt hàng bán hàng theo & lt; span class = \ “code \” & gt; Ngày bán hàng & lt; / span & gt ;; sau đó đối với mỗi & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;, nó sẽ yêu cầu doanh số bán hàng theo & lt; span class = \ “code \” & gt; Invoice Không & lt; / span & gt ;. Nhưng đừng nhầm lẫn ví dụ đó với truy vấn sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG THEO Hóa đơn bán hàng của & lt; span class = \ “code \” & gt; INVOICE_NO & lt; / span & gt ;. Sau đó, đối với mỗi & lt; span class = \ “code \” & gt; InvoiceNo & lt; / span & gt ;, truy vấn đặt hàng bán hàng theo & lt; span class = \ “code \” & gt; Ngày bán & lt; / span & gt ;. Điều này có thể sẽ không mang lại kết quả như bạn mong muốn, vì không có khả năng tồn tại nhiều ngày bán cho một số hóa đơn. \ R \ n \ r \ n Truy vấn sau là một ví dụ khác về cách SQL có thể trả về dữ liệu: \ r \ n & lt ; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN HÀNG BÁN HÀNG CỦA Người bán hàng, Ngày bán hàng; & lt; / pre & gt; \ r \ nVí dụ này, các đơn đặt hàng đầu tiên của & lt; span class = \ “code \” & gt; Người bán hàng & lt; / span & gt ; và sau đó là & lt; span class = \ “code \” & gt; SaleDate & lt; / span & gt ;. Sau khi xem dữ liệu theo thứ tự đó, bạn có thể muốn đảo ngược dữ liệu đó, như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ ĐƠN ĐẶT HÀNG BÁN HÀNG THEO Ngày bán, Người bán hàng; & lt; / pre & gt; \ r \ nVí dụ này sắp xếp các hàng đầu tiên theo & lt; span class = \ “code \” & gt; Ngày bán & lt; / span & gt; và sau đó là & lt; span class = \ “code \” & gt; Người bán hàng & lt; / span & gt;. \ r \ n \ r \ nTất cả các ví dụ sắp xếp này đều theo thứ tự tăng dần (& lt; span class = \ “code \” & gt; ASC & lt; / span & gt;) order, là thứ tự sắp xếp mặc định. & Lt; span class = \ “code \” & gt; SELECT & lt; / span & gt; hiển thị doanh số bán hàng sớm hơn trước – và trong một ngày nhất định, hiển thị doanh số bán hàng cho & lt; span class = \ “code \” & gt; ‘Adams’ & lt; / span & gt; trước & lt; span class = \ “code \” & gt; ‘Baker’ & lt; / span & gt ;. Nếu bạn thích thứ tự giảm dần (& lt; span class = \ “code \” & gt; DESC & lt; / span & gt;), bạn có thể chỉ định thứ tự này cho một hoặc nhiều cột thứ tự, như sau: \ r \ n & lt; pre class = \ “code \” & gt; CHỌN * TỪ BÁN HÀNG \ r \ nORDER THEO MÔ TẢ Ngày bán, Người bán hàng ASC; & lt; / pre & gt; \ r \ nVí dụ này chỉ định thứ tự giảm dần cho các ngày bán, hiển thị doanh số bán hàng gần đây hơn trước và tăng dần đặt hàng cho nhân viên bán hàng, xếp họ theo thứ tự bảng chữ cái. Điều đó sẽ cung cấp cho bạn bức tranh rõ hơn về hiệu suất của Bennett so với hiệu suất của các nhân viên bán hàng khác. “,” Blurb “:” “,” author “: [{” authorId “: 9559,” name “:” Allen G. Taylor “,” slug “:” allen-g-taylor “,” description “:” Allen G. Taylor là một cựu chiến binh 40 năm trong ngành máy tính và là tác giả của hơn 40 cuốn sách, bao gồm SQL For Dummies và Database Development For Hình nộm. Để biết tin tức mới nhất về các hoạt động của Taylor, hãy xem các khóa học trực tuyến của anh ấy (tại pioneer-academy1.teachable.com). “,” _Links “: {” self “:” https://dummies-api.dummies.com/v2/ author / 9559 “}}],” primaryCategoryTaxonomy “: {” categoryId “: 33608,” title “:” SQL “,” slug “:” sql “,” _links “: {” self “:” https: // dummies -api.dummies.com/v2/categories/33608″}},”secondaryCategoryTaxonomy”:{“categoryId”:0,”title”:null,”slug”:null,”_links”:null},”tertiaryCategoryTaxonomy “: {“categoryId”: 0, “title”: null, “slug”: null, “_ links”: null}, “trendingArticles”: null, “inThisArticle”: [{“label”: “GROUP BY mệnh đề”, “target “:” # tab1 “}, {” label “:” CÓ mệnh đề “,” target “:” # tab2 “}, {” label “:” ORDER BY mệnh đề “,” target “:” # tab3 “}], “liên quan “technology”, “programming-web-design”, “sql”], “_links”: {“self”: “https://dummies-api.dummies.com/v2/articles/260869″}}, {” articleId “: 260866,” title “:” Cách sử dụng t he SQL Union Join “,” slug “:” how-to-use-the-sql-union-join “,” categoryList “: [” technology “,” programming-web-design “,” sql “],” _ links “: {” self “:” https://dummies-api.dummies.com/v2/articles/260866 “}}, {” articleId “: 260727,” title “:” Cách khai báo con trỏ SQL “,” slug “:” how-to-statement-a-sql-cursor “,” categoryList “: [” công nghệ “,” lập trình-web-thiết kế “,” sql “],” _ links “: {” self “:” https : //dummies-api.dummies.com/v2/articles/260727 “}},{“articleId”: 260720, “title”: “SQL là gì?”, “slug”: “what-is-sql”, “categoryList”: [“công nghệ”, “lập trình-web-thiết kế”, “sql” ], “_links”: {“self”: “https://dummies-api.dummies.com/v2/articles/260720”}}, {“articleId”: 260678, “title”: “ODBC: Giao diện với SQL Cơ sở dữ liệu “,” slug “:” odbc-interfaceacing-with-sql-databases “,” categoryList “: [” technology “,” programming-web-design “,” sql “],” _ links “: {” self “: “https://dummies-api.dummies.com/v2/articles/260678″}}],”fromCategory”:[{“articleId”:260869,”title”:”Sử dụng các ràng buộc SQL trong giao dịch”, “slug” : “using-sql-bindings-within-transaction”, “categoryList”: [“technology”, “programming-web-design”, “sql”], “_links”: {“self”: “https: // dummies -api.dummies.com/v2/articles/260869”}},{“articleId”:260866,”title”:”Cách sử dụng SQL Union Join “,” slug “:” how-to-use-the- sql-union-join “,” categoryList “: [” công nghệ “,” lập trình-web-thiết kế “,” sql “],” _links “: {” self “:” https://dummies-api.dummies.com / v2 / posts / 260866 “}}, {” articleId “: 260727,” title “:” Cách khai báo SQL Cur sor “,” slug “:” how-to-statement-a-sql-cursor “,” categoryList “: [” công nghệ “,” lập trình-web-thiết kế “,” sql “],” _ links “: {” self “:” https://dummies-api.dummies.com/v2/articles/260727 “}}, {” articleId “: 260720,” title “:” SQL là gì? “,” slug “:” what-is -sql “,” categoryList “: [” công nghệ “,” lập trình-web-thiết kế “,” sql “],” _links “: {” self “:” https://dummies-api.dummies.com/v2/ article / 260720 “}}, {” articleId “: 260678,” title “:” ODBC: Interfacing with SQL Databases “,” slug “:” odbc-interfaceacing-with-sql-databases “,” categoryList “: [” technology “,” Progra-web-design “,” sql “],” _links “: {” self “:” https://dummies-api.dummies.com/v2/articles/260678 “}}]},” hasRelatedBookFromSearch “: false,” RelatedBook “: {” bookId “: 281871,” slug “:” sql-for-dummies-9-edition “,” isbn “:” 9781119527077 “,” categoryList “: [” công nghệ “,” lập trình -web-design “,” sql “],” amazon “: {” default “:” https://www.amazon.com/gp/product/1119527074/ref=as_li_tl?ie=UTF8&tag=wiley01-20 “,” ca “:” https://www.amazon.ca/gp/product/1119527074/ref=as_li_tl?ie=UTF8&tag=wiley01-20 “,” indigo_ca “:” http://www.tkqlhce.com/click-9208661-13710633?url=https://www.cha Chapter.indigo.ca/en-ca/books/product/1119527074-item.html&amp ; cjsku = 978111945484 “,” gb “:” https://www.amazon.co.uk/gp/product/1119527074/ref=as_li_tl?ie=UTF8&tag=wiley01-20 “,” de “:” https : //www.amazon.de/gp/product/1119527074/ref=as_li_tl? ie = UTF8 & amp; tag = wiley01-20 “},” image “: {” src “:” https://www.dummies.com /wp-content/uploads/sql-for-dummies-9th-edition-cover-9781119527077-203×255.jpg”,”width”:203,”height”:255},”title”:”SQL For Dummies, 9 Edition “,” testBankPinActivationLink “:” “,” bookOutOfPrint “: false,” authorInfo “:” \ n & lt; p & gt; & lt; b data-author-id = \ “9559 \” & gt; Allen G. Taylor & lt; / b & gt; là một cựu chiến binh 30 năm trong ngành công nghiệp máy tính và là tác giả của hơn 40 cuốn sách, bao gồm & lt; b & gt; & lt; i & gt; SQL For Dummies & lt; / i & gt; & lt; / b & gt; và & lt; i & gt; Báo cáo Pha lê cho Hình nộm. & lt; / i & gt; Ông thuyết trình trên toàn quốc về cơ sở dữ liệu, đổi mới và khởi nghiệp. Ông cũng giảng dạy phát triển cơ sở dữ liệu quốc tế thông qua một nhà cung cấp giáo dục trực tuyến hàng đầu. & lt; / p & gt; “,” author “: [{” authorId “: 9559,” name “:” Allen G. Taylor “,” slug “:” allen-g-taylor “,” description “:” Allen G. Taylor là một cựu chiến binh 40 năm trong ngành công nghiệp máy tính và là tác giả của hơn 40 cuốn sách, bao gồm SQL For Dummies và Database Development For Dummies. Để biết tin tức mới nhất về các hoạt động của Taylor, hãy xem các khóa học trực tuyến của anh ấy (tại pioneer-academy1.teachable.com). “,” _Links “: {” self “:” https://dummies-api.dummies.com/v2/ tác giả / 9559 “}}],” _links “: {” self “:” https://dummies-api.dummies.com/v2/books/ “}},” bộ sưu tập “: [],” articleAds “: { “footerAd”: “& lt; div class = \” du-ad-region row \ “id = \” article_page_adhesion_ad \ “& gt; & lt; div class = \” du-ad-unit col-md-12 \ “data- slot-id = \ “article_page_adhesion_ad \” data-refresh = \ “false \” \ r \ n data-target = \ “[{& amp; quot; key & amp; quot;: & amp; quot; cat & amp; quot ;, & amp; quot; giá trị & amp; quot;: [& amp; quot; công nghệ & amp; quot ;, & amp; quot; lập trình-thiết kế web & amp; quot ;, & amp; quot; sql & amp; quot;]}, {& amp; quot; key & amp; quot; : & amp; quot; isbn & amp; quot ;, & amp; quot; giá trị & amp; quot;: [& amp; quot; 9781119527077 & amp; quot;]}] \ “id = \” du-slot-6217bb4cbce02 \ “& gt; & lt; / div & gt ; & lt; / div & gt; “,” rightAd “:” & lt; div class = \ “du-ad-region row \” id = \ “article_page_right_ad \” & gt; & lt; div class = \ “du-ad-unit col -md-12 \ “data-slot-id = \” article_page_right_ad \ “data-refresh = \” false \ “\ r \ n data-target = \” [{& amp; quot; key & amp; quot;: & amp; quot; cat & amp; quot ;, & amp; quot; giá trị & amp; quot;: [ & amp; quot; công nghệ & amp; quot ;, & amp; quot; lập trình-thiết kế web & amp; quot ;, & amp; quot; sql & amp; quot;]}, {& amp; quot; key & amp; quot;: & amp; quot; isbn & amp; quot ; , “articleType”: {“articleType”: “Articles”, “articleList”: null, “content”: null, “videoInfo”: {“videoId”: null, “name”: null, “accountId”: null, ” playerId “: null,” thumbnailUrl “: null,” description “: null,” uploadDate “: null}},” tài trợ “: {” SponshipPage “: false,” backgroundImtuổi “: {” src “: null,” width “: 0,” height “: 0},” brandingLine “:” “,” brandingLink “:” “,” brandingLogo “: {” src “: null,” width “: 0,” height “: 0}},” primaryLearningPath “:” Advance “,” lifeExpectancy “:” Two years “,” lifeExpectancySetFrom “:” 2022-01-14T00: 00: 00 + 00: 00 “,” dummiesForKids “:” no “,” supportsContent “:” no “,” adInfo “:” “,” adPairKey “: []},” trạng thái “:” xuất bản “,” khả năng hiển thị “:” công khai “,” articleId “: 160800}, “articleLoadedStatus”: “success”}, “listState”: {“list”: {}, “objectTitle”: “”, “status”: “initial”, “pageType”: null, “objectId”: null , “page”: 1, “sortField”: “time”, “sortOrder”: 1, “categoryIds”: [], “articleTypes”: [], “filterData”: {}, “filterDataLoadedStatus”: “initial”, “pageSize”: 10}, “adsState”: {“pageScripts”: {“headers”: {“timestamp”: “2022-06-20T18: 59: 10 + 00: 00”}, “adsId”: 0, ” data “: {” scripts “: [{” pages “: [” all “],” location “:” header “,” script “:” & lt;! – Optimizely Script – & gt; \ r \ n & lt; script src = \ “https: //cdn.optimizely.com/js/10563184655.js \” & gt; & lt; / script & gt; “,” đã bật “: false}, {” pages “: [” all “],” vị trí “:” header “,” script “:” & lt;! – Thẻ comScore – & gt; \ r \ n & lt; script & gt; var _comscore = _comscore || []; _ comscore.push ({c1: \ “2 \”, c2: \ “15097263 \”}); (function () {var s = document.createElement (\ “script \”), el = document.getElementsByTagName (\ “script \”) [0]; s.async = true; s.src = (document.location.protocol == \ “https: \”? \ “https: // sb \”: \ “http: // b \ “) + \”. scorecardresearch.com/beacon.js\”;el.parentNode.insertBefore(s, el);}) (); & lt; / script & gt; & lt; noscript & gt; & lt; img src = \ “https: //sb.scorecardresearch.com/p? c1 = 2 & amp; c2 = 15097263 & amp; cv = 2.0 & amp; cj = 1 \” / & gt; & lt; / noscript & gt; \ r \ n & lt;! – / comScore Thẻ – & gt; “,” đã bật “: true}, {” trang “: [” tất cả “],” vị trí “:” chân trang “,” tập lệnh “:” & lt;! – BẮT ĐẦU TRANG WEB PHẢN HỒI QUALTRICS – & gt; \ r \ n & lt; script type = ‘text / javascript’ & gt; \ r \ n (function () {var g = function (e, h, f, g) {\ r \ nthis.get = function (a ) {for (var a = a + \ “= \”, c = document.cookie.split (\ “; \”), b = 0, e = c.length; b & lt; e; b ++) {for (var d = c [b]; \ “\” == d.charAt (0);) d = d.substring (1, d.length); if (0 == d.indexOf (a)) return d.substring ( a.length, d.length)} return null}; \ r \ nthis.set = function (a, c) {var b = \ “\”, b = new Date; b.setT ime (b.getTime () + 6048E5); b = \ “; hết hạn = \ “+ b.toGMTString (); document.cookie = a + \” = \ “+ c + b + \”; đường dẫn = /; \ “}; \ r \ nthis.check = function () {var a = this.get (f); if (a) a = a.split (\”: \ “); else if (100! = e) \ “v \” == h & amp; & amp; (e = Math.random () & gt; = e / 100? 0: 100), a = [h, e, 0], this.set (f, a.join (\ “: \”)); else return! 0; var c = a [1]; if (100 == c) return! 0; switch (a [0]) {case \ “v \”: return! 1; case \ “r \”: return c = a [2]% Math.floor (100 / c), a [2] ++, this.set (f, a.join (\ “: \”)) ,! c} return! 0}; \ r \ nthis.go = function () {if (this.check ()) {var a = document.createElement (\ “script \”); a.type = \ “text /javascript\”;a.src=g;document.body&&document.body.appendChild(a)}};\r\nthis.start= Chức năng(){var t = this; \ “complete \”! == document.readyState? window.addEventListener? window.addEventListener (\ “load \”, function () {t.go ()},! 1): window.attachEvent & amp; & amp; window.attachEvent (\ “onload \” , function () {t.go ()}): t.go ()};}; \ r \ ntry {(new g (100, \ “r \”, \ “QSI_S_ZN_5o5yqpvMVjgDOuN \”, \ “https: / /zn5o5yqpvmvjgdoun-wiley.siteintercept.qualtrics.com/SIE/?Q_ZID=ZN_5o5yqpvMVjgDOuN\”)).start()}catch(i){}})();\r\n</script&giv id =<d ‘ZN_5o5yqpvMVjgDOuN’ & gt; & lt;! – KHÔNG BỎ LỠ-CON LƯU Ý ĐƯỢC ĐẶT Ở ĐÂY – & gt; & lt; / div & gt; \ r \ n & lt;! – END TRANG WEB PHẢN HỒI SNIPPET – & gt; “,” đã bật “: false}, {” trang “: [” tất cả “],” vị trí “:” header “,” script “:” & lt;! – Mã Theo dõi Hotjar cho http://www.dummies.com – & gt; \ r \ n & lt; script & gt; \ r \ n (function (h, o , t, j, a, r) ​​{\ r \ n h.hj = h.hj || function () {(h.hj.q = h.hj.q || []). push (đối số)} ; \ r \ n h._hjSettings = {hjid: 257151, hjsv: 6}; \ r \ n a = o.getElementsByTagName (‘head’) [0]; \ r \ n r = o.createElement (‘script’); r.async = 1; \ r \ n r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv; \ r \ n a.appendChild (r); \ r \ n}) (cửa sổ, document, ‘https: //static.hotjar.com/c/hotjar-‘,’.js? sv =’); \ r \ n & lt; / script & gt; “,” enable “: false}, {” pages “: [“article”], “location”: “header”, “script”: “& lt;! – // Kết nối Vùng chứa: dummies – & gt; & lt; script src = \ “// get.s-onetag.com/bffe21a1-6bb8-4928-9449-7beadb468dae/tag.min.js \” async defer & gt; & lt; / script & gt; “,” enable “: true} , {“pages”: [“Home”], “location”: “header”, “script”: “& lt; meta name = \” facebook-domain-verify \ “content = \” irk8y0irxf718trg3uwwuexg6xpva0 \ “/ & gt;” , “bật”: true}, {“trang”: [“trang chủ”, “bài viết”, “danh mục”, “tìm kiếm”], “vị trí”: “chân trang”, “tập lệnh”: “& lt;! – Facebook Mã Pixel – & gt; \ r \ n & lt; noscript & gt; \ r \ n & lt; img height = \ “1 \” width = \ “1 \” src = \ “https://www.facebook.com/tr?id = 256338321977984 & amp; ev = PageView & amp; noscript = 1 \ “/ & gt; \ r \ n & lt; / noscript & gt; \ r \ n & lt;! – End Facebook Pixel Code – & gt;”, “enable”: true}]}} , “pageScriptsLoadedStatus”: “success”}, “navigationState”: {“navigationCollections”: [{“collectionId”: 287568, “title”: “BYOB (Be Your Own Boss)”, “hasSubCategories”: false, “url” : “/ collection / for-the-entry-level-Entreprene-287568”}, {“collectionId”: 293237, “title”: “Be a Rad Dad”, “hasSubCategories”: false, “url”: “/ collection / be-the-best-dad-293237 “}, {” collectionId ” : 287563, “title”: “Dành cho những ai đang tìm kiếm sự bình yên trong tâm trí”, “hasSubCategories”: false, “url “:” / collection / for-those-seek-peace-of-mind-287563 “}, {” collectionId “: 287570,” title “:” Dành cho Người yêu thích Khát vọng “,” hasSubCategories “: false,” url ” : “/ collection / for-the-bougielicious-287570”}, {“collectionId”: 291903, “title”: “Dành cho Người say mê Cần sa mới chớm nở”, “hasSubCategories”: false, “url”: “/ collection / for- the-budding-cannabis-crazyast-291903 “}, {” collectionId “: 291934,” title “:” For the-Season Crammer “,” hasSubCategories “: false,” url “:” / collection / for-the- Exam-season-crammer-291934 “}, {” collectionId “: 287569,” title “:” For the Hopeless Romantic “,” hasSubCategories “: false,” url “:” / collection / for-the-hopeless-lãng mạn- 287569 “}, {” collectionId “: 287567,” title “:” For Unabashed Hippie “,” hasSubCategories “: false,” url “:” / collection / for-the-unabashed-hippie-287567 “}, {” collectionId “: 292186,” title “:” Just DIY It “,” hasSubCategories “: false,” url “:” / collection / just-diy-it-292186 “}, {” collectionId “: 290164,” title “: “Cam kết để bản thân tốt hơn”, “hasSubCategories”: false, “url”: “/ collection / make-a-co mmitment-to-better-yourself-290164 “}],” navigationCollectionsLoadedStatus “:” success “,” navigationCategories “: {” books “: {” 0 “: {” data “: [{” categoryId “: 33512,” title “:” Công nghệ “,” hasSubCategories “: true,” url “:” / category / books / technology-33512 “}, {” categoryId “: 33662,” title “:” Academics & amp; The Arts “,” hasSubCategories “: true,” url “:” / category / books / academics-the-Arts-33662 “}, {” categoryId “: 33809,” title “:” Home, Auto, & amp; Sở thích “,” hasSubCategories “: true,” url “:” / category / books / home-auto-hobbies-33809 “}, {” categoryId “: 34038,” title “:” Body, Mind, & amp; Spirit “,” hasSubCategories “: true,” url “:” / category / books / body-mind-Spirit-34038 “}, {” categoryId “: 34224,” title “:” Kinh doanh, Nghề nghiệp, & amp; Money “,” hasSubCategories “: true,” url “:” / category / books / business-Career-money-34224 “}],” breadcrumbs “: [],” categoryTitle “:” Level 0 Category “,” mainCategoryUrl ” : “/ category / books / level-0-category-0”}}, “article”: {“0”: {“data”: [{“categoryId”: 33512, “title”: “Technology”, “hasSubCategories “: true,” url “:” / category / article / technology-33512 “}, {” categoryId “: 33662,” title “:” Academics & amp; The Arts “,” hasSubCategories “: true,” url “:” / category / posts / academics-the-Arts-33662 “}, {” categoryId “: 33809,” title “:” Home, Auto, & amp; Sở thích “,” hasSubCategories “: true,” url “:” / category / posts / home-auto-hobbies-33809 “}, {” categoryId “: 34038,” title “:” Body, Mind, & amp; Spirit “,” hasSubCategories “: true,” url “:” / category / posts / body-mind-Spirit-34038 “}, {” categoryId “: 34224,” title “:” Kinh doanh, Nghề nghiệp, & amp; Money “,” hasSubCategories “: true,” url “:” / category / posts / business-Career-money-34224 “}],” breadcrumbs “: [],” categoryTitle “:” Level 0 Category “,” mainCategoryUrl ” : “/ category / posts / level-0-category-0”}}}, “navigationCategoriesLoadedStatus”: “thành công”}, “searchState”: {“searchList”: [], “searchStatus”: “initial”, “RelatedArticlesList “: {” term “:” 160800 “,” count “: 5,” total “: 384,” topCategory “: 0,” items “: [{” objectType “:” article “,” id “: 160800,” data “: {” title “:” Cách sử dụng mệnh đề GROUP BY, HAVING và ORDER BY SQL “,” slug “:” how-to-use-group-by-Have-and-order-by-sql-mệnh đề “,” update_time “:” 2022-01-18T19: 15: 24 + 00: 00 “,” object_type “:” article “,” image “: null,” breadcrumbs “: [{” name “:” Technology “, “slug”: “technology”, “categoryId”: 33512}, {“name”: “Lập trình & amp; Thiết kế web “,” slug “:” programming-web-design “,” categoryId “: 33592}, {” name “:” SQL “,” slug “:” sql “,” categoryId “: 33608}],” mô tả “:” SQL cung cấp cho bạn các tùy chọn để truy xuất, phân tích và hiển thị thông tin bạn cần với các mệnh đề GROUP BY, HAVING và ORDER BY. Dưới đây là một số ví dụ về cách bạn có thể sử dụng chúng. \ R \ nGROUP BY các mệnh đề \ r \ n Đôi khi, thay vì truy xuất các bản ghi riêng lẻ, bạn muốn biết điều gì đó về một nhóm bản ghi. Mệnh đề GROUP BY là công cụ bạn cần. \ R \ n \ r \ n Giả sử bạn là giám đốc bán hàng của một địa điểm khác và bạn muốn xem xét hiệu suất của lực lượng bán hàng của mình. Nếu bạn thực hiện một lệnh CHỌN đơn giản, chẳng hạn như truy vấn sau: \ r \ nSELECT InvoiceNo, SaleDate, Sales Nhân viên, TotalSale \ r \ n FROM SALES; \ r \ n \ r \ n \ r \ nKết quả này cung cấp cho bạn một số ý tưởng về cách nhân viên bán hàng của bạn đang làm tốt vì có quá ít tổng doanh số bán hàng tham gia. Tuy nhiên, trong thực tế, một công ty sẽ có nhiều doanh số hơn – và sẽ không dễ dàng để biết liệu các mục tiêu bán hàng có được đáp ứng hay không. \ R \ n \ r \ nĐể thực hiện phân tích thực tế, bạn có thể kết hợp GROUP BY mệnh đề với một trong các hàm tổng hợp (còn gọi là hàm tập hợp) để có được bức tranh định lượng về hiệu suất bán hàng. Ví dụ: bạn có thể xem nhân viên bán hàng nào đang bán nhiều mặt hàng có lợi nhuận cao hơn bằng cách sử dụng hàm trung bình (AVG) như sau: \ r \ nSELECT Sales Nhân viên, AVG (TotalSale) \ r \ n FROM SALES \ r \ n GROUP BY Nhân viên bán hàng; \ r \ n Chạy truy vấn với một hệ thống quản lý cơ sở dữ liệu khác sẽ truy xuất cùng một kết quả, nhưng có thể hơi khác một chút. \ R \ n \ r \ n \ r \ n \ r \ nGiá trị trung bình của doanh số bán hàng của Bennett là cao hơn đáng kể so với hai nhân viên bán hàng còn lại. Bạn so sánh tổng doanh số bán hàng với một truy vấn tương tự: \ r \ nSELECT Nhân viên bán hàng, SUM (TotalSale) \ r \ n TỪ BÁN HÀNG \ r \ n NHÓM THEO Nhân viên bán hàng; \ r \ n \ r \ n \ r \ nBennett cũng có the tổng doanh số bán hàng cao nhất, phù hợp với doanh số bán hàng trung bình cao nhất. \ r \ nĐiều khoản CÓ \ r \ nBạn có thể phân tích thêm dữ liệu được nhóm bằng cách sử dụng mệnh đề CÓ. Mệnh đề HAVING là một bộ lọc hoạt động tương tự như mệnh đề WHERE, nhưng trên các nhóm hàng chứ không phải trên các hàng riêng lẻ. Để minh họa chức năng của mệnh đề HAVING, giả sử người quản lý bán hàng coi Bennett là một mình trong một lớp học. \ R \ n \ r \ nHiệu suất này làm sai lệch dữ liệu tổng thể cho các nhân viên bán hàng khác. (Aha – một kẻ phá hoại đường cong.) Bạn có thể loại trừ doanh số bán hàng của Bennett khỏi dữ liệu được nhóm bằng cách sử dụng mệnh đề HAVING như sau: \ r \ nSELECT Nhân viên bán hàng, SUM (TotalSale) \ r \ n FROM SALES \ r \ n NHÓM THEO Nhân viên bán hàng \ r \ n CÓ Nhân viên bán hàng ‘Bennett’; \ r \ nChỉ các hàng trong đó nhân viên bán hàng không phải là Bennett mới được xem xét. \ r \ n \ r \ n \ r \ nORDER BY mệnh đề \ r \ nSử dụng mệnh đề ORDER BY để hiển thị bảng kết quả của một truy vấn theo thứ tự bảng chữ cái tăng dần hoặc giảm dần. Trong khi mệnh đề GROUP BY tập hợp các hàng thành các nhóm và sắp xếp các nhóm theo thứ tự bảng chữ cái, ORDER BY sắp xếp các hàng riêng lẻ. Mệnh đề ORDER BY phải là mệnh đề cuối cùng mà bạn chỉ định trong một truy vấn. \ R \ n \ r \ nNếu truy vấn cũng chứa mệnh đề GROUP BY, trước tiên mệnh đề sắp xếp các hàng đầu ra thành các nhóm. Sau đó mệnh đề ORDER BY sắp xếp các hàng trong mỗi nhóm. Nếu bạn không có mệnh đề GROUP BY, thì câu lệnh coi toàn bộ bảng là một nhóm và mệnh đề ORDER BY sắp xếp tất cả các hàng của nó theo cột (hoặc các cột) mà mệnh đề ORDER BY chỉ định. \ R \ n \ r \ nĐể minh họa điểm này, hãy xem xét dữ liệu trong bảng BÁN HÀNG. Bảng BÁN HÀNG chứa các cột cho InvoiceNo, SaleDate, Sales Nhân viên và TotalSale. Nếu sử dụng ví dụ sau, bạn sẽ thấy tất cả dữ liệu trong bảng SALES – nhưng theo thứ tự tùy ý: \ r \ nSELECT * FROM SALES; \ r \ nTrong một lần triển khai, đây có thể là thứ tự mà bạn đã chèn các hàng vào cái bàn; trong một triển khai khác, thứ tự có thể là của các bản cập nhật gần đây nhất. Thứ tự cũng có thể thay đổi bất ngờ nếu bất kỳ ai tổ chức lại cơ sở dữ liệu. Đó là một lý do tại sao bạn nên chỉ định thứ tự mà bạn muốn các hàng. \ R \ n \ r \ n Ví dụ: bạn có thể muốn xem các hàng theo thứ tự trước Ngày bán hàng như sau: \ r \ nSELECT * TỪ ĐƠN HÀNG BÁN HÀNG THEO Ngày Bán Hàng; \ r \ nVí dụ này trả về tất cả các hàng trong bảng BÁN HÀNG theo thứ tự theo Ngày Bán Hàng. \ R \ nĐối với các hàng có cùng Ngày Bán Hàng, thứ tự mặc định phụ thuộc vào việc triển khai. Tuy nhiên, bạn có thể chỉ định cách sắp xếp các hàng có cùng Ngày bán hàng. Bạn có thể muốn xem doanh số cho từng Ngày bán theo thứ tự theo InvoiceNo, như sau: \ r \ nSELECT * TỪ ĐƠN HÀNG BÁN HÀNG THEO Ngày Bán, InvoiceNo; \ r \ nVí dụ này đầu tiên đặt hàng bán hàng theo Ngày Bán; sau đó đối với mỗi Ngày bán hàng, nó sẽ đặt hàng doanh số theo InvoiceNo. Nhưng đừng nhầm lẫn ví dụ đó với truy vấn sau: \ r \ nSELECT * TỪ ĐƠN HÀNG BÁN HÀNG THEO Hóa đơn Không, Ngày bán hàng; \ r \ nTruy vấn này đầu tiên đặt hàng bán hàng theo INVOICE_NO. Sau đó, đối với mỗi InvoiceNo khác nhau, truy vấn đặt hàng bán hàng theo Ngày bán hàng. Điều này có thể sẽ không mang lại kết quả như bạn mong muốn, vì không có khả năng tồn tại nhiều ngày bán hàng cho một số hóa đơn. \ R \ n \ r \ n Truy vấn sau là một ví dụ khác về cách SQL có thể trả về dữ liệu: \ r \ nSELECT * TỪ ĐƠN HÀNG BÁN HÀNG CỦA Người bán hàng, Ngày bán hàng; \ r \ nVí dụ này đầu tiên Người bán hàng đặt hàng và sau đó là Ngày bán hàng. Sau khi bạn xem dữ liệu theo thứ tự đó, bạn có thể muốn đảo ngược nó, như sau: \ r \ nSELECT * TỪ ĐƠN HÀNG BÁN HÀNG THEO Ngày Bán Hàng, Người Bán Hàng; \ r \ nVí dụ này sắp xếp các hàng trước tiên theo Ngày Bán Hàng và sau đó theo Người Bán Hàng. \ r \ n \ r \ nTất cả các ví dụ sắp xếp này đều theo thứ tự tăng dần (ASC), là thứ tự sắp xếp mặc định. SELECT cuối cùng hiển thị doanh số bán hàng sớm hơn trước – và trong một ngày nhất định, hiển thị doanh số bán hàng cho ‘Adams’ trước ‘Baker’. Nếu bạn thích thứ tự giảm dần (DESC), bạn có thể chỉ định đơn hàng này cho một hoặc nhiều cột đơn hàng, như sau: \ r \ nSELECT * FROM SALES \ r \ nORDER BY SaleDate DESC, SalesDate ASC; \ r \ nVí dụ này chỉ định một thứ tự giảm dần cho các ngày bán, hiển thị những lần bán gần đây hơn trước và một thứ tự tăng dần cho nhân viên bán hàng, xếp chúng theo thứ tự bảng chữ cái. Điều đó sẽ cung cấp cho bạn bức tranh rõ hơn về hiệu suất của Bennett so với hiệu suất của các nhân viên bán hàng khác. “,” Item_vector “: null},” titleHighlight “: null,” descriptionHighlights “: null,” headers “: null,” categoryList ” : [“technology”, “programming-web-design”, “sql”], “title”: “Cách sử dụng GROUP BY, HAVING và ORDER BY SQL Clauses”, “slug”: “how-to-use- group-by-Have-and-order-by-sql-clauses “,” articleId “: 160800}, {” objectType “:” article “,” id “: 252567,” data “: {” title “:” Cách để Sử dụng Nhóm Mua / Bán trên Facebook “,” slug “:” use-buyell-groups-facebook “,” update_time “:” 2018-05-23T18: 57: 58 + 00: 00 “,” object_type “:” article “,” image “: null,” breadcrumbs “: [{” name “:” Technology “,” slug “:” technology “,” categoryId “: 33512}, {” name “:” Social Media “,” slug ” : “social-media”, “categoryId”: 33611}, {“name”: “Facebook”, “slug”: “facebook”, “categoryId”: 33612}], “description”: “Ngoài Marketplace, nhiều mọi người sử dụng Nhóm Mua / Bán trênFacebook để mua bán các mặt hàng đã qua sử dụng. Bạn có thể sử dụng cả hai (và trên thực tế, Facebook giúp dễ dàng đăng danh sách Thị trường lên các nhóm Mua / Bán mà bạn thuộc về và ngược lại). Thông thường, mọi người có xu hướng sử dụng nhóm Mua / Bán vì những lý do sau: \ r \ n \ r \ n \ tNhóm yêu cầu tư cách thành viên: Bởi vì các thành viên của một nhóm phải tích cực tham gia nhóm đó, điều này hoạt động như một bộ lọc trên cả số những người sẽ xem danh sách của bạn và kiểu người mua / người bán mà bạn đang tương tác. Không có nghĩa là các mẹo an toàn Mua và Bán không áp dụng, điều đó chỉ có nghĩa là bạn đang chia sẻ danh sách với một nhóm người đặc biệt quan tâm. \ R \ n \ t Các nhóm có thể khá cụ thể: Các nhóm Mua / Bán thường tự giới hạn khu vực lân cận nhất định, vì vậy tôi có thể hoàn thành điều đó. Chúng cũng có thể dành cho các danh mục mặt hàng rất cụ thể, chẳng hạn như thiết bị ngoài trời, thiết bị cho trẻ em và nhà ở. Điều này có thể làm cho việc duyệt web của bạn được nhắm mục tiêu nhiều hơn. \ R \ n \ t Các nhóm thường có yếu tố thương mại: Ngoài việc bán nhiều hơn tại địa phương và theo cách dựa trên cộng đồng hơn, nhiều nhóm Mua / Bán cung cấp tùy chọn để giao dịch các mặt hàng. Nếu bạn đang thiếu tiền mặt hoặc hy vọng loại bỏ một số tài sản của riêng mình, hệ thống đổi hàng có thể là những gì bạn đang tìm kiếm. Ngoài ra, hãy theo dõi các nhóm “Không mua gì” tại địa phương, được xây dựng dựa trên quan điểm tối giản rằng chúng ta không cần phải mua bất cứ thứ gì mới. Trong các nhóm đó, các thành viên có thể tạo yêu cầu cho các mặt hàng và các thành viên khác, nếu họ có thể, hãy thực hiện các yêu cầu đó. \ R \ n \ r \ nCơ chế sử dụng nhóm Mua / Bán rất giống với bất kỳ nhóm nào khác — bạn sử dụng Nhà xuất bản , nhận xét về các bài đăng bạn quan tâm và nhắn tin cho những người khác trong nhóm. \ r \ n \ r \ nBạn có thể tìm các nhóm Mua và Bán gần bạn bằng cách nhấp vào liên kết Nhóm Mua và Bán ở menu bên trái. Thao tác này sẽ đưa bạn đến trang chủ của Nhóm Mua và Bán, trang này hiển thị một số nhóm địa phương mà bạn có thể quan tâm. Nhấp vào nút Tham gia Nhóm bên cạnh bất kỳ nhóm nào có vẻ hấp dẫn đối với bạn. \ R \ n Duyệt và mua trong Một nhóm Mua / Bán trên Facebook \ r \ nMột nhóm Mua / Bán trông khá giống với hầu hết các nhóm khác. Sự khác biệt chính là Nhà xuất bản mặc định Bán thứ gì đó thay vì nhắc bạn bắt đầu thảo luận. Dưới Nhà xuất bản là bản xem trước của các mặt hàng hiện đang được bán. Cuộn xuống trang để xem danh sách gần đây nhất. Những danh sách này sẽ trông quen thuộc với bạn — chúng chỉ là những bài đăng, mặc dù có tiêu đề và trường giá. Một số bài đăng sẽ có chuỗi nhận xét trong đó mọi người đặt câu hỏi về tình trạng của mặt hàng, địa điểm nhận hàng hoặc các chủ đề liên quan khác. \ R \ n \ r \ n Nhóm Mua / Bán. [/ Caption] \ r \ n \ r \ n Nói chung, mọi người không sử dụng chuỗi nhận xét để thực hiện các thương lượng cuối cùng để mua và chọn một mặt hàng. Thay vào đó, khi họ sẵn sàng đưa ra đề nghị, hầu hết mọi người đều nhắn tin trực tiếp cho người bán (và có nút Người bán tin nhắn tiện dụng ở góc dưới bên phải của bài đăng). \ R \ n \ r \ nNếu bạn thực sự đồng ý tìm kiếm thứ gì đó, bạn có thể thử sử dụng thanh tìm kiếm ở menu bên trái để tìm kiếm vật phẩm đó trong các bài đăng của nhóm. Bạn cũng có thể nhấp vào liên kết Các mặt hàng cần bán ở menu bên trái để xem danh sách cô đọng tất cả các mặt hàng hiện đang được bán trong nhóm. \ R \ nBán các mặt hàng trong nhóm Mua / Bán trên Facebook \ r \ nNếu bạn muốn để liệt kê thứ gì đó cần bán trong nhóm Mua / Bán, hãy nhấp vào Nhà xuất bản. Đây là hộp văn bản nhỏ gần đầu nhóm (dưới ảnh bìa). Khi bạn nhấp vào đó, hộp Bán thứ gì đó sẽ mở ra. \ R \ n \ r \ n Tạo danh sách của bạn tại đây. [ / caption] \ r \ n \ r \ nBạn cần điền vào các trường sau: \ r \ n \ r \ n \ tBạn đang bán gì: Câu trả lời của bạn cho câu hỏi này trở thành tiêu đề bài đăng của bạn, vì vậy hãy mô tả . \ r \ n \ tGiá: Cho mọi người biết bạn đang muốn họ trả bao nhiêu cho món hàng. \ r \ n \ tVị trí: Facebook có thể tự động điền mã zip của bạn. Xóa thông tin này để sử dụng mã zip khác. \ R \ n \ t Mô tả: Thêm bất kỳ chi tiết nào về mặt hàng của bạn có thể liên quan — tình trạng, số đo, v.v. \ r \ n \ t Ảnh chụp: Thêm bất kỳ ảnh nào về mặt hàng bạn đang bán. Nói chung, tôi nhận thấy rằng nhiều bức ảnh thường hữu ích cho mọi người. \ R \ n \ r \ n Ở cuối hộp Bán thứ gì đó, bên cạnh nút Đăng màu xanh lam, là menu để quyết định xem bạn có muốn thêm danh sách của bạn vào Thị trường ngoài bất kỳ nhóm nào bạn sắp đăng. Theo mặc định, Facebook giả định rằng bạn sẽ muốn liệt kê nó ở cả hai nơi. Nếu bạn chỉ muốn liệt kê nó trong nhóm, hãy nhấp vào menu này và bỏ chọn Thị trường. Nếu bạn là thành viên của nhiều nhóm Mua / Bán, bạn cũng có tùy chọn ở đây để tạo danh sách cũng được đăng lên các nhóm đó. \ R \ n \ r \ nKhi bạn đã thêm tất cả thông tin bạn cần vào danh sách của bạn, nhấp vào nút Đăng màu xanh lam. Bạn sẽ được thông báo về bất kỳ nhận xét nào về danh sách cũng như mọi tin nhắn đến từ những người quan tâm đến việc mua nó. \ R \ nSử dụng Mua / SeSẽ tạo nhóm trên điện thoại của bạn \ r \ nCũng giống như sử dụng Marketplace, sử dụng nhóm Mua / Bán trên điện thoại của bạn – đặc biệt để bán các mặt hàng – thậm chí có thể dễ dàng hơn vì bạn có thể chụp ảnh trực tiếp từ điện thoại và đưa chúng vào danh sách của mình. Nếu bạn đang ngồi trước máy tính để cố gắng tạo một danh sách, chắc chắn bạn sẽ cần phải thực hiện khoảng mười chuyến trở lại nhà để xe để kiểm tra số đo của mình, chụp ảnh mới, v.v. Làm cho cuộc sống của bạn dễ dàng hơn và tạo danh sách từ vị trí của mặt hàng. \ R \ n \ r \ nĐể điều hướng đến nhóm Mua / Bán mà bạn muốn sử dụng để bán hàng của mình, hãy nhập tên của mặt hàng đó vào thanh tìm kiếm ở đầu ứng dụng. Bạn cũng có thể nhấn vào nút Thêm ở góc dưới cùng bên phải của ứng dụng để xem menu gồm tất cả các phím tắt, tính năng và điểm đến mà bạn có thể truy cập trong Facebook. Bạn có thể nhấp vào nhóm Mua / Bán mong muốn của mình ở đó hoặc nhấn vào Nhóm Mua và Bán để xem bản xem trước của tất cả các mặt hàng được liệt kê trong tất cả các nhóm Mua / Bán mà bạn là thành viên. “,” Item_vector “: null},” titleHighlight “: null,” descriptionHighlights “: null,” headers “: null,” categoryList “: [” technology “,” social-media “,” facebook “],” title “:” Cách sử dụng Nhóm Mua / Bán trên Facebook “,” slug “:” use-buyell-groups-facebook “,” articleId “: 252567}, {” objectType “:” article “,” id “: 160792,” data “: {” title “:” Cách để sử dụng phép nối tên cột và phép nối bên trong trong SQL “,” slug “:” how-to-use-column-name-join-and-inner-join-in-sql “,” update_time “:” 2022-01- 14T19: 21: 16 + 00: 00 “,” object_type “:” article “,” image “: null,” breadcrumbs “: [{” name “:” Technology “,” slug “:” technology “,” categoryId ” : 33512}, {“name”: “Lập trình & amp; Thiết kế web “,” slug “:” programming-web-design “,” categoryId “: 33592}, {” name “:” SQL “,” slug “:” sql “,” categoryId “: 33608}],” mô tả “:” SQL cung cấp một số loại phép nối khác nhau, bao gồm phép nối tên cột và phép nối bên trong, để giúp bạn hoàn thành nhiệm vụ cụ thể của mình. Dưới đây là một số ví dụ để giúp hướng dẫn bạn trong hành trình SQL của mình. \ R \ n Nối tên cột \ r \ n Nối tên cột giống như một phép nối tự nhiên, nhưng nó linh hoạt hơn. Trong phép nối tự nhiên, tất cả các cột của bảng nguồn có cùng tên sẽ được so sánh với nhau để bình đẳng. Với phép nối tên cột, bạn chọn các cột cùng tên để so sánh. Bạn có thể chọn tất cả chúng nếu bạn muốn, làm cho liên kết tên cột (hiệu quả) trở thành một liên kết tự nhiên. \ R \ n \ r \ n Hoặc bạn có thể chọn ít hơn tất cả các cột cùng tên. Bằng cách này, bạn có mức độ kiểm soát tuyệt vời đối với những hàng sản phẩm chéo nào đủ điều kiện để được đưa vào bảng kết quả của bạn. \ R \ n \ r \ nHãy giả sử bạn là nhà sản xuất bộ cờ vua và có một bảng kiểm kê để theo dõi kho của bạn các mảnh màu trắng và một kho khác theo dõi các mảnh màu đen. Các bảng chứa dữ liệu như sau: \ r \ nWHITE ĐEN \ r \ n —– —– \ r \ nMảnh Số lượng Gỗ Mảnh Số lượng Gỗ \ r \ n —– —– – — —– —– —- \ r \ nKing 502 Oak King 502 Ebony \ r \ nQueen 398 Oak Queen 397 Ebony \ r \ nRook 1020 Oak Rook 1020 Ebony \ r \ nBishop 985 Oak Bishop 985 Ebony \ r \ nKnight 950 Oak Knight 950 Ebony \ r \ nPawn 431 Oak Pawn 453 Ebony \ r \ nĐối với mỗi loại quân cờ, số mảnh trắng phải khớp với số mảnh đen. Nếu chúng không khớp, một số quân cờ đang bị thất lạc hoặc bị đánh cắp và bạn cần thắt chặt các biện pháp an ninh. \ R \ n \ r \ n Một phép nối tự nhiên so sánh tất cả các cột có cùng tên để bình đẳng. Trong trường hợp này, một bảng kết quả không có hàng nào được tạo ra vì không có hàng nào trong cột GỖ trong bảng TRẮNG khớp với bất kỳ hàng nào trong cột GỖ trong bảng ĐEN. \ R \ n \ r \ nBảng kết quả này không giúp bạn xác định xem có hàng hóa nào bị thiếu không. Thay vào đó, hãy thực hiện nối tên cột loại trừ cột GỖ khỏi việc xem xét. Nó có thể có dạng sau: \ r \ nSELECT * \ r \ n TỪ TRẮNG THAM GIA ĐEN \ r \ n SỬ DỤNG (Mảnh, Số lượng); \ r \ nBảng kết quả chỉ hiển thị các hàng có số lượng quân trắng trong kho bằng số lượng mảnh màu đen: \ r \ nMảnh Số lượng Gỗ Số lượng Gỗ Số lượng \ r \ n —– —– —- —– —– —- \ r \ nKing 502 Oak King 502 Ebony \ r \ nRem 1020 Oak Rook 1020 Ebony \ r \ nBishop 985 Oak Bishop 985 Ebony \ r \ nKnight 950 Oak Knight 950 Ebony \ r \ nNgười khôn ngoan có thể suy ra rằng Queen và Pawn bị mất tích trong danh sách, cho thấy sự thiếu hụt ở đâu đó đối với các loại mảnh ghép đó. \ r \ nInner join \ r \ nBây giờ, có lẽ bạn đang hiểu rằng các phép ghép nối khá bí truyền và cần một mức độ sáng suốt tâm linh không phổ biến để giải quyết chúng một cách thỏa đáng. Bạn thậm chí có thể đã nghe nói về phép nối bí ẩn bên trong và suy đoán rằng nó có thể đại diện cho cốt lõi hoặc bản chất của các phép toán quan hệ. \ R \ n \ r \ nVâng, ha! Trò đùa dành cho bạn: Không có gì bí ẩn về sự liên kết bên trong. Phép nối tên cột có thể đã được xây dựng trong ví dụ trước như một phép nối bên trong bằng cách sử dụng cú pháp sau: \ r \ nSELECT * \ r \ n FROM WHITE INNER JOIN BLACK \ r \ n USING (Piece, Quant); \ r \ nKết quả giống nhau. \ r \ n \ r \ nKết nối bên trong được đặt tên như vậy để phân biệt với phép nối bên ngoài. Một phép nối bên trong loại bỏ tất cả các hàng khỏibảng kết quả không có các hàng tương ứng trong cả hai bảng nguồn. Một phép nối bên ngoài bảo tồn các hàng chưa khớp. Đó là sự khác biệt. Không có gì siêu hình về nó. “,” Item_vector “: null},” titleHighlight “: null,” descriptionHighlights “: null,” headers “: null,” categoryList “: [” technology “,” program-web-design “,” sql “],” title “:” Cách sử dụng phép nối tên cột và phép nối bên trong trong SQL “,” slug “:” how-to-use-column-name-join-and-inner-join-in-sql ” , “articleId”: 160792}, {“objectType”: “article”, “id”: 169920, “data”: {“title”: “Thiết kế Cơ sở dữ liệu quan hệ trong Access 2013”, “slug”: “design-a -relational-database-in-access-2013 “,” update_time “:” 2016-03-26T15: 40: 33 + 00: 00 “,” object_type “:” article “,” image “: null,” breadcrumbs “: [{“name”: “Technology”, “slug”: “technology”, “categoryId”: 33512}, {“name”: “Software”, “slug”: “software”, “categoryId”: 33618}, { “name”: “Microsoft Products”, “slug”: “microsoft-products”, “categoryId”: 33642}, {“name”: “Access”, “slug”: “access”, “categoryId”: 33643}] , “description”: “Khi bạn sử dụng một chương trình cơ sở dữ liệu như Access 2013, bạn không thể chỉ bắt đầu nhập dữ liệu. Thay vào đó, bạn cần tạo một thiết kế cơ sở dữ liệu quan hệ, chia thông tin của bạn thành một hoặc nhiều bảng, mỗi bảng được tạo thành từ các trường (giống như các cột trong bảng tính). Các bảng được kết nối với nhau bằng phép nối quan hệ, trong đó một trường trong một bảng khớp (liên quan đến) một trường trong một bảng khác. Đây là ý tưởng chung: \ n \ n Xác định dữ liệu của bạn. \ NLập danh sách các trường có thể có (phần thông tin), bao gồm văn bản, số, ngày tháng, đúng / sai và các loại dữ liệu khác. \ N \ n Loại bỏ dữ liệu thừa các trường. \ nKhông lưu trữ cùng một thông tin ở nhiều nơi. Nếu bạn có thể tính toán một trường từ một trường khác, hãy lưu trữ chỉ một trường. (Ví dụ: lưu trữ ngày sinh hoặc tuổi, nhưng không phải cả hai.) \ N \ n Sắp xếp các trường thành các bảng. \ NNhóm các trường của bạn theo những gì chúng mô tả để mỗi nhóm trở thành một bảng. Cơ sở dữ liệu nhập đơn hàng cho một cửa hàng có thể có một bảng cho khách hàng, một bảng cho sản phẩm và một bảng cho đơn đặt hàng. \ N \ n Thêm bảng cho mã và chữ viết tắt. \ N Lập kế hoạch để bao gồm một bảng tên trạng thái và mã gồm hai chữ cái, và một bảng của mọi mã hoặc chữ viết tắt khác mà bạn định sử dụng trong cơ sở dữ liệu. Bạn sẽ sử dụng các bảng này để tạo menu thả xuống gồm các giá trị mà bạn có thể chọn khi nhập bản ghi. \ N \ n Chọn khóa chính cho mỗi bảng. \ N Khóa chính là trường xác định duy nhất mỗi bản ghi trong bảng. Bạn có thể yêu cầu Access gán một số ID duy nhất cho mỗi bản ghi bằng cách sử dụng trường Tự động đánh số. \ N \ n Liên kết các bảng. \ NXem bảng nào chứa các trường khớp với các trường trong các bảng khác. Trong cơ sở dữ liệu nhập đơn đặt hàng, bảng Đơn đặt hàng phải chứa trường xác định khách hàng đã đặt hàng – trường khớp với trường khóa chính trong bảng Khách hàng. Hầu hết các mối quan hệ là một-nhiều, trong đó một bản ghi trong một bảng có thể khớp với nhiều (hoặc không) bản ghi trong một bảng khác. \ N \ n “,” item_vector “: null},” titleHighlight “: null,” descriptionHighlights “: null,” headers “: null,” categoryList “: [” technology “,” software “,” microsoft-products “,” access “],” title “:” Thiết kế Cơ sở dữ liệu Quan hệ trong Access 2013 “,” slug “:” design-a-relational-database-in-access-2013 “,” articleId “: 169920}, {” objectType “:” article “,” id “: 168804,” data “: {” title “: “Cách nhóm các mục trong Outlook 2013”, “slug”: “how-to-group-items-in-outlook-2013”, “update_time”: “2016-03-26T15: 30: 22 + 00: 00”, “object_type”: “article”, “image”: null, “breadcrumbs”: [{“name”: “Technology”, “slug”: “technology”, “categoryId”: 33512}, {“name”: “Software “,” slug “:” software “,” categoryId “: 33618}, {” name “:” Microsoft Products “,” slug “:” microsoft-products “,” categoryId “: 33642}, {” name “:” General (Microsoft) “,” slug “:” general-microsoft “,” categoryId “: 33652}],” description “:” Sắp xếp và nhóm trong Outlook 2013 cũng tương tự. Cả hai quy trình đều sắp xếp các mục trong bảng của bạn theo các cột. Phân nhóm khác với sắp xếp ở chỗ nó tạo ra các nhóm các mục giống nhau mà bạn có thể mở hoặc đóng. Bạn chỉ có thể xem xét các nhóm mà bạn quan tâm và bỏ qua tất cả các nhóm khác. \ NVí dụ: khi bạn cân đối sổ séc, bạn có thể sắp xếp séc của mình theo số séc. Tại thời điểm tính thuế, bạn nhóm các séc của mình: Bạn tạo một đống séc cho chi phí y tế, một đống séc khác cho các khoản khấu trừ từ thiện và một đống séc khác cho số tiền bạn đã đầu tư vào sách For Dummies. \ NSau đó, bạn có thể cộng số tiền bạn đã chi tiêu trong mỗi danh mục và nhập các số liệu đó vào tờ khai thuế của mình. \ nCách nhanh nhất để nhóm các mục là bấm chuột phải vào tiêu đề của cột bạn muốn nhóm và sau đó chọn Nhóm Theo Trường này. Hộp Nhóm Theo tự động xuất hiện và tên của trường bạn đã chọn sẽ tự động xuất hiện trong hộp Nhóm Theo. Điều đó không trơn tru phải không? \ N \ nXem các mục được nhóm trong Outlook 2013 \ nMột dạng xem được nhóm hiển thị cho bạn tên của các cột mà bạn đã sử dụng để tạo dạng xem được nhóm. Nếu bạn nhấp vào biểu tượng Danh sách liên hệ và chọn chế độ xem Danh sách (nhóm các địa chỉ liên hệ của bạn theo công ty), bạn sẽ thấy một nhóm biểu tượng hình tam giác ở bên trái danh sách. \ NTừ Công ty xuất hiện tiếp theovào mỗi biểu tượng vì đó là cột mà chế độ xem được nhóm lại. Tên công ty xuất hiện bên cạnh từ Công ty; chế độ xem được nhóm có một phần riêng biệt cho từng công ty trong danh sách. \ n Biểu tượng ở cuối bên trái của từ Công ty trỏ trực tiếp sang phải hoặc xuống và sang phải. \ n \ n Biểu tượng trỏ trực tiếp sang bên phải có nghĩa là có nhiều thứ hơn để xem: Nhấp vào biểu tượng đó để hiển thị các mục khác thuộc nhóm. \ n \ n Một hình tam giác nghiêng xuống và sang phải có nghĩa là không còn gì để xem nữa; những gì bạn thấy là những gì bạn nhận được trong nhóm đó. \ n \ n \ nNếu bạn nhấp vào tên của công ty nhưng không phải biểu tượng, bạn sẽ chọn toàn bộ nhóm. Bạn có thể xóa nhóm nếu bạn chọn tên công ty và nhấn Xóa. Khi thanh nhóm được chọn, thanh này được đánh dấu màu xanh lam để phân biệt với các thanh khác. \ N \ nChỉ xem tiêu đề trong Outlook 2013 \ nBạn có thể nhấp vào từng hình tam giác để mở và đóng các nhóm riêng lẻ hoặc bạn có thể mở hoặc đóng tất cả các nhóm đồng thời. \ nĐể mở hoặc đóng các nhóm, hãy làm theo các bước sau: \ n \ n Nhấp vào tab Xem và nhấp vào nút Mở rộng / Thu gọn. \ n Mở rộng và thu gọn là những từ ấn tượng cho những gì bạn đang làm với các nhóm này. Nó không giống như Scarlett O’Hara nhận được hơi; nó chỉ tiết lộ (mở rộng) hoặc ẩn (thu gọn) nội dung. \ n \ n Chọn Thu gọn Nhóm này hoặc Mở rộng Nhóm này. \ n \ n Để mở rộng hoặc thu gọn tất cả các nhóm, hãy chọn Mở rộng Tất cả hoặc Thu gọn Tất cả. \ n Có thể là gì dễ dàng hơn? \ n \ n “,” item_vector “: null},” titleHighlight “: null,” descriptionHighlights “: null,” headers “: null,” categoryList “: [” technology “,” software “,” microsoft-products “,” general-microsoft “],” title “:” Cách nhóm các mục trong Outlook 2013 “,” slug “:” how-to-group-items-in-outlook-2013 “,” articleId “: 168804}] }, “RelatedArticlesStatus”: “success”}, “routeState”: {“name”: “Article3”, “path”: “/ article / technology / programming-web-design / sql / how-to-use-group- by-have-and-order-by-sql-clauses-160800 / “,” hash “:” “,” query “: {},” params “: {” category1 “:” technology “,” category2 “:” Progra-web-design “,” category3 “:” sql “,” article “:” how-to-use-group-by-Have-and-order-by-sql-clauses-160800 “},” fullPath “: meta “: {” routeType “:” article “,” breadcrumbInfo “: {” adjix “:” Articles “,” baseRoute “:” / category / posts “},” PrenderWithAsyncData “: true},” from “: {” name “: null,” path “:” / “,” hash “:” “,” query “: {},” params “: {},” fullPath “:” / “,” meta “: {}}}, “dropsState”: {“submitEmailResponse”: false, “status”: “initial”}, “sfmcState”: {“newsletterSignupStatus”: “initial”}}

Xem Thêm  Python Chia chuỗi theo ký tự - Chia chuỗi bằng phương thức split () - chia chuỗi python theo ký tự


Xem thêm những thông tin liên quan đến chủ đề nhóm theo và đặt hàng theo sql

SQL Group By: An Explanation and How To Use It

alt

  • Tác giả: Database Star
  • Ngày đăng: 2021-10-25
  • Đánh giá: 4 ⭐ ( 6432 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: The SQL GROUP BY keyword is a powerful feature that lets you summarise data from your query into groups.

    This can be helpful to see the number of employees in a department, or the total value of sales per month, and much more. Any time you need “something PER something else”, it’s often done with an SQL Group By.

    In this video, you’ll learn what Group By is, a step-by-step process on how to write one, what happens if you don’t include Group By, and some examples.

    Timestamps:
    00:00 Start
    00:09 What is Group By?
    00:30 Sample table
    00:49 First query
    01:34 Group By question
    01:46 Start a Group By query
    02:37 Add an Order By
    03:04 Can we exclude Group By?
    03:59 Using another aggregate function

sql — NHÓM THEO kết hợp với ĐẶT HÀNG

  • Tác giả: www.it-mot-dan-vi.com
  • Đánh giá: 3 ⭐ ( 6842 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mệnh đề GROUP BY nhóm các hàng, nhưng nó không nhất thiết phải sắp xếp các kết quả theo bất kỳ thứ tự cụ thể nào. Để thay đổi thứ tự, sử dụng mệnh đề ORDER BY, theo sau mệnh đề GROUP BY….

SQL Server: Các lệnh Group By trong SQL Server có thể bạn chưa biết

  • Tác giả: comdy.vn
  • Đánh giá: 4 ⭐ ( 9872 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn này, bạn sẽ tìm hiểu mệnh đề GROUP BY, GROUPING SET, CUBE, ROLLUP và HAVING trong SQL Server để sắp xếp các bản ghi theo nhóm.

Tại sao chúng ta sử dụng Nhóm theo 1 và Nhóm bằng 1,2,3 trong truy vấn SQL?

  • Tác giả: qastack.vn
  • Đánh giá: 4 ⭐ ( 8541 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Đây thực sự là một điều tồi tệ khi làm IMHO và nó không được hỗ…

Gom nhóm dữ liệu với GROUP BY trong SQL

  • Tác giả: shareprogramming.net
  • Đánh giá: 3 ⭐ ( 2200 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tức là nếu một cột cụ thể của các dòng khác nhau có giá trị giống nhau thì chúng sẽ được sắp xếp thành một nhóm.

SỰ KHáC BIỆT GIỮA THỨ TỰ THEO Và NHóM THEO TRONG SQL Là Gì

  • Tác giả: vi.books-kingdom.com
  • Đánh giá: 4 ⭐ ( 5057 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Sự khác biệt chính giữa Order by và Group by trong SQL là Order by giúp sắp xếp dữ liệu được truy xuất theo cách được sắp xếp trong khi Group by giúp

SQL FOR VBA WITH SQL_SELECT…COUNT/SUM/AVG… GROUP BY…

  • Tác giả: gitiho.com
  • Đánh giá: 5 ⭐ ( 2339 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết tại Gitiho

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách in bằng C ++ - câu lệnh in trong c ++

By ads_php