SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
6 là một công cụ sửa đổi được sử dụng trên một hàm tổng hợp để giới hạn các giá trị được sử dụng trong một hàm tổng hợp. Tất cả các cột trong câu lệnh chọn không được tổng hợp phải được chỉ định trong mệnh đề SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
7 trong truy vấnQuay trở lại phần trước, khi chúng tôi làm việc với các tập hợp, chúng tôi đã sử dụng hàm tổng hợp
SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
1 để tìm quy mô giao dịch trung bình. Nếu chúng ta muốn biết giá trị trung bình của các giao dịch mà mỗi nhân viên bán hàng giành được từ mức trung bình cao nhất đến thấp nhất, truy vấn sẽ như sauSELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
sales_agentavgElease Gluck3614. 9375Darcel Schlecht3304. 3381088825213Rosalina Dieter3269. 4861111111113Võng Daniell3194. 9912280701756James Ascencio3063. 2074074074076 Rosie Papadopoulos 2950. 8846153846152Wilburn Farren2866. 181818181818Lươi sậy2827. 974193548387Donn Cantrell2821. 8987341772154Chúng tôi thậm chí có thể xác định giá trị trung bình của các giao dịch do người quản lý tổng hợp bằng cách chạy một truy vấn có liên kết như thế này
SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
quản lýavgDustin Brinkmann1465. 0107095046853Summer Sewald2372. 886473429952Melvin Marxen2553. 2086167800453Cara Losch2354. 26875Celia Rouche2629. 339344262295Rocco Neubert2837. 257597684515Mặc dù SQL không bắt buộc, nhưng bạn nên đưa tất cả các cột không tổng hợp từ mệnh đề
SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
2 vào mệnh đề SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
7 của mình. Nếu không, có những trường hợp truy vấn sẽ trả về kết quả mong muốn, cũng có những trường hợp một giá trị ngẫu nhiên từ hàng không tổng hợp sẽ được sử dụng làm đại diện cho tất cả các giá trị mà truy vấn trả vềVí dụ: giả sử bạn muốn biết giao dịch trung bình của đại lý bán hàng cho từng khách hàng của họ. Nếu bạn đã sử dụng truy vấn
SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY sales_agent
bạn sẽ lấy lại bảng sau hiển thị từng đại lý bán hàng một lần và chọn một giá trị ngẫu nhiên từ các tài khoản mà người bán hàng đó giành được
đại lý bán hàng. tài khoản. Tổng. . -. -. . Anna Snelling. giữ sinh học. 275,056. . Boris Faz. Mathtouch. 261,631. . cải xoong. Sumace. 450,489. . Cecily Lampkin. giàn khoan. 229.800. . Mỹ phẩm Corliss. Tập đoàn Zen. 421,036. . Daniell Võng. Zathunicon. 364,229. . Darcel Schlecht. chủ nghĩa. 1.153.214. . Donn Cantrell. Công ty Bluth. 445.860. . Elease Gluck. Công nghệ Dalt. 289,195. . Garret Kinder. Konex. 197,773
Để có được giao dịch trung bình của đại lý bán hàng cho mỗi tài khoản, truy vấn sẽ như thế này
SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent, account
ORDER BY sales_agent, account
Một số hàng đầu tiên của bảng được trả về sẽ trông như thế này
Nếu bạn muốn tinh chỉnh truy vấn của mình hơn nữa bằng cách chạy các tập hợp của bạn dựa trên một tập hợp giới hạn các giá trị trong một cột, bạn có thể sử dụng từ khóa
SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
6. Ví dụ: nếu bạn muốn biết cả số lượng giao dịch mà đại lý bán hàng giành được và số lượng giao dịch đó có giá trị lớn hơn 1000, bạn có thể sử dụng truy vấnSELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
Một số hàng đầu tiên của bảng kết quả sẽ trông như thế này
sales_agenttotalover 1000Boris Faz10170Maureen Marcano14996Vicki Laflamme221111Donn Cantrell158106Jonathan Berthelot17174Wilburn Farren5538Elease Gluck8032Cassey Cress163112James Ascencio13588Kami Bicknell17478Anna Snelling20868landVioletNhư chúng ta đã thấy trong phần các hàm tổng hợp,
SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
5 cũng giới hạn các giá trị trong một truy vấn để chạy một hàm tổng hợp. SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
6 linh hoạt hơn SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
5 vì bạn có thể sử dụng nhiều hơn một công cụ sửa đổi SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
6 trong một truy vấn tổng hợp trong khi bạn chỉ có thể sử dụng một mệnh đề SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
5Ví dụ
SELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
0Một số hàng đầu tiên được trả về bởi truy vấn trên sẽ giống như
sales_agentnumber wonnumber > 1000trung bình của tất cả > 1000Rosalina Dieter72303,269. 497,537. 83Daniell Võng114913,194. 9993.869. 47Gladys Colclough135882,560. 553,791. 19Rosie Papadopoulos78492,950. 8854.559. 16Kary Hendrixson209982,173. 6754,071. 13Cecily Lampkin107632,147. 6653,439. 74Lajuana Vencill127491,532. 543,262. 94Markita Hansen130682,529. 174,512. 37Moses Frase129511,606. 0673.441. 45Darcel Schlecht3492723,304. 344,115. 04Hayden Neloms107822,543. 093.215. 06Lươi sậy1551102,827. 973.808. 98Zane Levy161992,671. 234,038. 43Garret Kinder75462,636. 974,041. 37Niesha Huffines105561,685. 342,747. 96Bài tập [Tiếp theo phần trước]
Có hai cách để thực hiện các bài tập này. Đầu tiên là sử dụng các liên kết “Thử truy vấn” để kiểm tra các truy vấn của bạn mà không lưu chúng. Thứ hai là tạo một dữ liệu. dự án thế giới và lưu các truy vấn của bạn vào đó. Nếu bạn đang đọc tài liệu này và hoàn thành các bài tập dưới dạng hướng dẫn, bạn sẽ cần tạo dự án của riêng mình để lưu công việc của mình. Chi tiết và hướng dẫn có trong hướng dẫn SQL có hướng dẫn thiết lập dự án của bạn và liên kết đến tất cả các bài tập hiện tại
bài tập 27
Viết truy vấn trả về cột bệnh nhân và số lượng tất cả các bệnh dị ứng mà bệnh nhân mắc phải từ bảng dị ứng. Nhóm các kết quả của bạn theo bệnh nhân và sắp xếp chúng theo số lượng dị ứng từ lớn nhất đến ít nhất
thử truy vấn
Gợi ýSELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
2 cột SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY sales_agent
1 SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
1 của cột SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
1 được dán nhãn lại SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
2 SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
3 SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent, account
ORDER BY sales_agent, account
6 một SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY sales_agent
2 của cột SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
1 được dán nhãn lại SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
2 SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
8 SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent, account
ORDER BY sales_agent, account
6 và SELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
00 của cột SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
1. SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
6 kết quả chỉ trả về bản ghiSELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
03 cột SELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
04 là SELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
05 và ghi nhãn cột kết quả là SELECT sales_agent,
COUNT[sales_pipeline.close_value] AS total,
COUNT[sales_pipeline.close_value]
FILTER[WHERE sales_pipeline.close_value > 1000] AS `over 1000`
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_pipeline.sales_agent
2 SELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
07. Tất cả các cột này nên được chọn SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY sales_agent
4 bảng SELECT sales_agent,
AVG[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY AVG[close_value] DESC
09. Hạn chế kết quả của bạn chỉ bao gồm các bản ghi SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
5 cột SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
71 SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
72 SELECT sales_teams.manager,
AVG[sales_pipeline.close_value]
FROM sales_teams
JOIN sales_pipeline ON [sales_teams.sales_agent = sales_pipeline.sales_agent]
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_teams.manager
73. SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY sales_agent
6 kết quả SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY sales_agent
7 cột SELECT sales_agent,
account,
SUM[close_value]
FROM sales_pipeline
WHERE sales_pipeline.deal_stage = "Won"
GROUP BY sales_agent
ORDER BY sales_agent
8