Truy vấn SQL sử dụng mệnh đề COUNT và HAVING – nhóm sql có số đếm 1

Cổng thông tin Khoa học Máy tính dành cho những người yêu thích máy tính. Nó bao gồm các bài báo về khoa học máy tính và lập trình được viết tốt, được tư duy tốt và được giải thích tốt, các câu đố và thực hành / lập trình cạnh tranh / các câu hỏi phỏng vấn công ty.

Bạn đang xem : nhóm sql có số đếm 1

Hãy xem xét một bảng STUDENT có lược đồ sau:

 STUDENT (Student_id, Student_Name, Địa chỉ, Dấu hiệu) 

Student_id là cột chính của bảng STUDENT. Đầu tiên, hãy tạo cấu trúc bảng bằng Lệnh CREATE trong SQL:

 TẠO BẢNG SINH VIÊN
(STUDENT_ID NUMBER (4),
STUDENT_NAME VARCHAR2 (20),
ĐỊA CHỈ VARCHAR2 (20),
SỐ MARKS (3),
PRIMARY KEY (STUDENT_ID)); 

Bây giờ, hãy chèn các giá trị vào bảng bằng lệnh INSERT INTO trong SQL:

 CHÈN VÀO HỌC SINH
GIÁ TRỊ (100, ‘PUJA’, ’NOIDA’, 10);

CHÈN VÀO HỌC VIÊN
VALUES (101, ‘SUDO’, ’PUNE’, 30);

CHÈN VÀO HỌC VIÊN
GIÁ TRỊ (102, ‘BHALU’, ’NASHIK’, 40);

CHÈN VÀO HỌC VIÊN
GIÁ TRỊ (103, ‘CHETENA’, ’NOIDA’, 20);

CHÈN VÀO HỌC VIÊN
VALUES (104, ‘MOMO’, ’NOIDA’, 40); 

Bây giờ hãy hiển thị nội dung của bảng STUDENT:

 SELECT *
FROM STUDENT; 
 Student_id Student_Name Address Marks
------------------------------------------------
100 PUJA NOIDA 10
101 SUDO PUNE 30
102 BHALU NASHIK 40
103 CHETENA NOIDA 20
104 MOMO NOIDA 40 

Truy vấn-1: In điểm và số học sinh có điểm nhiều hơn điểm trung bình của học sinh đến từ thành phố NOIDA. Giải thích: Để lấy điểm trung bình của học sinh từ thành phố NOIDA, chúng tôi sử dụng truy vấn sau:

 SELECT AVG (MARKS)
TỪ SINH VIÊN
WHERE ADDRESS = ’NOIDA’ 

Chúng tôi sử dụng truy vấn phụ này ở trên bằng mệnh đề GROUP BY và HAVING:

 SELECT MARKS, COUNT (DISTINCT STUDENT_ID)
TỪ SINH VIÊN
NHÓM THEO THÁNG 3
CÓ BIỂN & gt; (CHỌN AVG (MARKS)
                   TỪ SINH VIÊN
                   ĐỊA CHỈ ĐÂU = ’NOIDA’); 

Trong truy vấn trên, chúng tôi sử dụng GROUP BY MARKS có nghĩa là nó phân cụm các hàng có cùng Dấu và chúng tôi cũng sử dụng SELECT MARKS, COUNT (DISTINCT STUDENT_ID) để in các dấu của mỗi cụm và số lượng hàng tương ứng cụm tức là

 ĐẾM HÀNG THÁNG
10 1
20 1
30 1
40 2 

Sau đó, chúng tôi sử dụng HAVING MARKS & gt; (CHỌN AVG (MARKS) FROM STUDENT WHERE ADDRESS = ‘NOIDA’), được sử dụng để lọc kết quả với điều kiện điểm phải lớn hơn điểm trung bình của học sinh từ thành phố Noida, tức là hơn

 (10 + 20 + 40) / 3
= 23,3 

Đầu ra:

 ĐẾM THÁNG 3 (DISTINCT STUDENT_ID)
30 1
40 2 

Truy vấn-2: Hiển thị Tên và Địa chỉ của những sinh viên có chữ cái thứ hai của tên là U. Giải thích: Để phù hợp với mẫu của Trường STUDENT_NAME chúng tôi đã sử dụng toán tử so sánh chuỗi LIKE với hai ký tự dành riêng% và _. % thay thế một số ký tự tùy ý và ‘_’ thay thế một ký tự tùy ý. Ở đây, chúng tôi cần so sánh chữ cái thứ hai của STUDENT_NAME, do đó chúng tôi sử dụng mẫu ‘_U%’.

 SELECT Student_Name, Address
TỪ SINH VIÊN
WHERE STUDENT_NAME THÍCH ‘_U%’ 

Đầu ra:

 STUDENT_NAME ADDRESS
PUJA NOIDA
SUDO PUNE 

Truy vấn-3: In thông tin chi tiết của học sinh đạt điểm cao nhất (nếu có nhiều hơn một học sinh đạt điểm cao nhất thì điểm cao nhất sẽ theo thứ tự bảng chữ cái của tên của họ). Giải thích: Để nhận được điểm cao nhất từ ​​trường MARKS, chúng tôi sử dụng lệnh MAX, tức là

 CHỌN TỐI ĐA (MARKS)
TỪ SINH VIÊN; 

Chúng tôi sử dụng truy vấn phụ ở trên trả về ’40’ và nó sẽ được sử dụng với lệnh WHERE. Để sắp xếp theo thứ tự bảng chữ cái của trường STUDENT_NAME, chúng tôi đã sử dụng mệnh đề ORDER BY và để có được hàng trên cùng, LIMIT 1 sẽ được sử dụng. Kết hợp tất cả những điều này:

 CHỌN *
TỪ SINH VIÊN
WHERE MARKS = (CHỌN TỐI ĐA (MARKS)
               TỪ HỌC SINH)
ĐẶT HÀNG CỦA STUDENT_NAME LIMIT 1; 

Đầu ra:

 Dấu địa chỉ Student_id Student_Name
102 BHALU NASHIK 40 

Truy vấn-4: Thay đổi tên và địa chỉ của sinh viên có ID 103 tương ứng thành RITA và DELHI. Giải thích: Để thay đổi giá trị của bất kỳ thuộc tính nào, chúng tôi sẽ sử dụng lệnh UPDATE với mệnh đề SET để chỉ định các giá trị mới của chúng.

 CẬP NHẬT HỌC SINH
SET STUDENT_NAME = 'RITA', ADDRESS = 'DELHI'
WHERE STUDENT_ID = 103; 

Đầu ra:

 Đã cập nhật 1 hàng 

Để xem những thay đổi mà chúng tôi sẽ sử dụng, hãy

 CHỌN *
TỪ SINH VIÊN; 

Đầu ra:

 Dấu địa chỉ Student_id Student_Name
100 PUJA NOIDA 10
101 SUDO PUNE 30
102 BHALU NASHIK 40
103 RITA DELHI 20
104 MOMO NOIDA 40 

Truy vấn-5: XÓA các chi tiết khỏi bảng STUDENT những chi tiết có điểm thấp nhất. Giải thích: Để tìm điểm thấp nhất mà chúng tôi sẽ sử dụng,

 CHỌN MIN (MARKS)
TỪ SINH VIÊN; 

Nó sẽ trả về “10” dưới dạng điểm thấp nhất. Để xóa các hàng, chúng ta sẽ sử dụng lệnh DELETE với lệnh WHERE để chỉ định điều kiện.

 XÓA khỏi SINH VIÊN
WHERE MARKS = (CHỌN MIN (MARKS)
               TỪ HỌC SINH); 

Đầu ra:

 1 hàng bị ảnh hưởng 

Để xem những thay đổi chúng tôi sẽ sử dụng,

 CHỌN *
TỪ SINH VIÊN; 

Đầu ra:

 Dấu địa chỉ Student_id Student_Name
101 SUDO PUNE 30
102 BHALU NASHIK 40
103 RITA DELHI 20
104 MOMO NOIDA 40 

My Personal Notes

Xem Thêm  Xóa dữ liệu khỏi bảng - xóa dữ liệu trong bảng


Xem thêm những thông tin liên quan đến chủ đề nhóm sql có số đếm 1

Row Number function in SQL Server

  • Tác giả: kudvenkat
  • Ngày đăng: 2015-09-30
  • Đánh giá: 4 ⭐ ( 3817 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: sql server row_number example
    sql server row number by partition
    sql server row_number over partition by order by

    In this video we will discuss Row_Number function in SQL Server. This is continuation to Part 108. Please watch Part 108 from SQL Server tutorial before proceeding.

    Healthy diet is very important both for the body and mind. If you like Aarvi Kitchen recipes, please support by sharing, subscribing and liking our YouTube channel. Hope you can help.
    https://www.youtube.com/channel/UC7sEwIXM_YfAMyonQCrGfWA/?sub_confirmation=1

    Row_Number function
    Introduced in SQL Server 2005
    Returns the sequential number of a row starting at 1
    ORDER BY clause is required
    PARTITION BY clause is optional
    When the data is partitioned, row number is reset to 1 when the partition changes

    Syntax : ROW_NUMBER() OVER (ORDER BY Col1, Col2)

    Row_Number function without PARTITION BY : In this example, data is not partitioned, so ROW_NUMBER will provide a consecutive numbering for all the rows in the table based on the order of rows imposed by the ORDER BY clause.

    SELECT Name, Gender, Salary,
    ROW_NUMBER() OVER (ORDER BY Gender) AS RowNumber
    FROM Employees

    Please note : If ORDER BY clause is not specified you will get the following error
    The function ‘ROW_NUMBER’ must have an OVER clause with ORDER BY

    Row_Number function with PARTITION BY : In this example, data is partitioned by Gender, so ROW_NUMBER will provide a consecutive numbering only for the rows with in a parttion. When the partition changes the row number is reset to 1.

    SELECT Name, Gender, Salary,
    ROW_NUMBER() OVER (PARTITION BY Gender ORDER BY Gender) AS RowNumber
    FROM Employees

    Use case for Row_Number function : Deleting all duplicate rows except one from a sql server table.

    Discussed in detail in Part 4 of SQL Server Interview Questions and Answers video series.

    Text version of the video
    http://csharp-video-tutorials.blogspot.com/2015/09/rownumber-function-in-sql-server.html

    Slides
    http://csharp-video-tutorials.blogspot.com/2015/09/rownumber-function-in-sql-server_30.html

    All SQL Server Text Articles
    http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html

    All SQL Server Slides
    http://csharp-video-tutorials.blogspot.com/p/sql-server.html

    All Dot Net and SQL Server Tutorials in English
    https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd

    All Dot Net and SQL Server Tutorials in Arabic
    https://www.youtube.com/c/KudvenkatArabic/playlists

Đếm các nhóm con có các phần tử chẵn và lẻ giống nhau

  • Tác giả: vi.tutorialcup.com
  • Đánh giá: 3 ⭐ ( 1577 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đếm các mảng con có cùng phần tử chẵn và lẻ – tìm số lượng mảng con có số nguyên chẵn và lẻ bằng nhau.

COUNT – Hàm đếm số dòng

  • Tác giả: www.sql.edu.vn
  • Đánh giá: 3 ⭐ ( 7692 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hàm COUNT trong Microsoft SQL Server: COUNT(*) trả về số dòng có trong bảng, COUNT(biểu_thức) trả về số dòng khác NULL của biểu_thức.

Group By trong MySQL

  • Tác giả: freetuts.net
  • Đánh giá: 5 ⭐ ( 4468 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Group By trong MySQL có công dụng gom nhóm dữ liệu theo một hoặc nhiều field nào đó, kết hợp Group By Having sẽ giúp lọc dữ liệu tốt hơn trong MySQL

Đếm (*) so với Đếm (1) – Máy chủ SQL

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 2651 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Không có sự khác biệt. Lý do: Sách trực tuyến nói ” COUNT ( { […

SQL: Đếm các nhóm hàng chia sẻ giá trị cột chung

  • Tác giả: helpex.vn
  • Đánh giá: 5 ⭐ ( 2412 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài đăng này, tôi tập trung vào việc sử dụng các câu lệnh SQL SELECT đơn giản để đếm số hàng trong bảng đáp ứng một điều kiện cụ thể với các kết quả được nhóm theo một cột nhất định…

Hàm Count Có Điều Kiện Trong Sql Server, Having Trong Sql Server

  • Tác giả: thuychien.vn
  • Đánh giá: 5 ⭐ ( 2539 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết này sẽ hướng dẫn chi tiết cho bạn cách sử dụng hàm xử lý số COUNT() trong SQL Server với cú pháp và những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn, Mô tả hàm COUNT SQL ServerHàm COUNT trong SQL Server dùng để đếm số lượng bản ghi (dữ liệu, hàng) có trong một bảng dữ liệu

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 thêm Hình nền trong Html - thêm html nền hình ảnh