Để đếm xem có bao nhiêu hàng có cùng giá trị sử dụng hàm COUNT[*] và GROUP BY. Cú pháp như sau -
SELECT yourColumName1, count[*] as anyVariableName from yourTableName GROUP BY yourColumName1;
Để hiểu cú pháp trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo một bảng như sau -
mysql> create table RowWithSameValue −> [ −> StudentId int, −> StudentName varchar[100], −> StudentMarks int −> ]; Query OK, 0 rows affected [0.55 sec]
Chèn một số bản ghi có cùng giá trị. Ở đây, chúng tôi đã cộng điểm giống nhau cho nhiều học sinh để làm ví dụ. Truy vấn để chèn bản ghi như sau -
mysql> insert into RowWithSameValue values[100,'Carol',89]; Query OK, 1 row affected [0.21 sec] mysql> insert into RowWithSameValue values[101,'Sam',89]; Query OK, 1 row affected [0.15 sec] mysql> insert into RowWithSameValue values[102,'John',99]; Query OK, 1 row affected [0.12 sec] mysql> insert into RowWithSameValue values[103,'Johnson',89]; Query OK, 1 row affected [0.15 sec]
Bây giờ bạn có thể hiển thị tất cả các bản ghi mà chúng tôi đã chèn ở trên. Truy vấn để hiển thị tất cả các bản ghi như sau -
Đối với điều này, hãy sử dụng câu lệnh CASE. Trước tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable [ Number int ]; Query OK, 0 rows affected [0.83 sec]
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable values[10]; Query OK, 1 row affected [0.17 sec] mysql> insert into DemoTable values[0]; Query OK, 1 row affected [0.15 sec] mysql> insert into DemoTable values[20]; Query OK, 1 row affected [0.14 sec] mysql> insert into DemoTable values[50]; Query OK, 1 row affected [0.23 sec] mysql> insert into DemoTable values[0]; Query OK, 1 row affected [0.09 sec] mysql> insert into DemoTable values[0]; Query OK, 1 row affected [0.13 sec] mysql> insert into DemoTable values[40]; Query OK, 1 row affected [0.15 sec]
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select *from DemoTable;
đầu ra
+--------+ | Number | +--------+ | 10 | | 0 | | 20 | | 50 | | 0 | | 0 | | 40 | +--------+ 7 rows in set [0.00 sec]
Bây giờ chúng ta hãy xem cách chọn các giá trị đếm bằng 0 và lớn hơn 0 từ một cột
mysql> select sum[case when Number > 0 then 1 else 0 end ] AS TotalValueWhichIsGreaterThanZero, sum[case when Number = 0 then 1 else 0 end] AS TotalValueWhichIsEqualToZero from DemoTable where Number >=0;
đầu ra
________số 8Cập nhật ngày 30-Jul-2019 22. 30. 26
Việc sử dụng hàm COUNT[] kết hợp với GROUP BY rất hữu ích để mô tả dữ liệu của chúng tôi theo các nhóm khác nhau. Tổ hợp các giá trị giống nhau [trên một cột] sẽ được coi là một nhóm riêng lẻ
Thí dụ
Để lấy dữ liệu về 'khu vực làm việc' và số lượng tác nhân cho 'khu vực làm việc' này từ bảng 'tác nhân' với điều kiện sau -
1. 'working_area' phải là duy nhất,
câu lệnh SQL sau đây có thể được sử dụng
SELECT working_area, COUNT[*]
FROM agents
GROUP BY working_area;
bảng mẫu. đại lý
Biểu thức đại số quan hệ
Cây đại số quan hệ
đầu ra
mysql> create table RowWithSameValue −> [ −> StudentId int, −> StudentName varchar[100], −> StudentMarks int −> ]; Query OK, 0 rows affected [0.55 sec]0
Trình bày bằng hình ảnh
SQL COUNT [ ] với nhóm theo và sắp xếp theo
Trong trang này, chúng ta sẽ thảo luận về cách sử dụng GROUP BY và ORDER BY cùng với hàm SQL COUNT[]
GROUP BY làm cho tập hợp kết quả trong các hàng tóm tắt theo giá trị của một hoặc nhiều cột. Mỗi giá trị giống nhau trên cột cụ thể sẽ được coi là một nhóm riêng lẻ
Tiện ích của mệnh đề ORDER BY là sắp xếp giá trị của một cột tăng dần hoặc giảm dần, bất kể loại cột là số hay ký tự. Số thứ tự của cột trong danh sách cột trong câu lệnh chọn có thể được sử dụng để chỉ ra cột nào phải được sắp xếp theo thứ tự tăng dần hoặc giảm dần
Thứ tự mặc định tăng dần nếu không có bất kỳ từ khóa hoặc đề cập nào ASCE được đề cập. DESC được đề cập để đặt nó theo thứ tự giảm dần
Thí dụ
bảng mẫu. đại lý
Để lấy dữ liệu về 'khu vực làm việc' và số lượng tác nhân cho 'khu vực làm việc' này từ bảng 'tác nhân' với các điều kiện sau -
1. 'working_area' phải là duy nhất,
2. đếm cho mỗi nhóm nên theo thứ tự tăng dần,
câu lệnh SQL sau đây có thể được sử dụng
mysql> create table RowWithSameValue −> [ −> StudentId int, −> StudentName varchar[100], −> StudentMarks int −> ]; Query OK, 0 rows affected [0.55 sec]1
Biểu thức đại số quan hệ
Cây đại số quan hệ
đầu ra
mysql> create table RowWithSameValue −> [ −> StudentId int, −> StudentName varchar[100], −> StudentMarks int −> ]; Query OK, 0 rows affected [0.55 sec]2
SQL COUNT [ ] nhóm theo và sắp xếp theo thứ tự giảm dần
Để lấy dữ liệu về 'khu vực làm việc' và số lượng tác nhân cho 'khu vực làm việc' này từ bảng 'tác nhân' với các điều kiện sau -
1. ' working_area' phải là duy nhất,
2. đếm cho mỗi nhóm nên theo thứ tự giảm dần,
câu lệnh SQL sau đây có thể được sử dụng
mysql> create table RowWithSameValue −> [ −> StudentId int, −> StudentName varchar[100], −> StudentMarks int −> ]; Query OK, 0 rows affected [0.55 sec]3
Biểu thức đại số quan hệ
Cây đại số quan hệ
đầu ra
mysql> create table RowWithSameValue −> [ −> StudentId int, −> StudentName varchar[100], −> StudentMarks int −> ]; Query OK, 0 rows affected [0.55 sec]4
Trước. COUNT với Distinct
Tiếp theo. COUNT Đang có và Nhóm theo
Chia sẻ Hướng dẫn / Bài tập này trên. Facebook và Twitter
SQL. Lời khuyên trong ngày
Sự khác biệt giữa TRUNCATE và DELETE trong SQL là gì?
CẮT CẮT
TRUNCATE xóa tất cả các hàng khỏi bảng. Hoạt động không thể được khôi phục và sẽ không có trình kích hoạt nào được kích hoạt. Như vậy, TRUNCATE nhanh hơn và không sử dụng nhiều dung lượng hoàn tác như XÓA. Khóa mức bảng sẽ được thêm vào khi Cắt bớt
XÓA BỎ
Lệnh DELETE dùng để xóa các hàng trong bảng. Có thể sử dụng mệnh đề WHERE để chỉ xóa một số hàng. Nếu không chỉ định điều kiện WHERE, tất cả các hàng sẽ bị xóa. Sau khi thực hiện thao tác XÓA, bạn cần CAM KẾT hoặc QUAY LẠI giao dịch để thực hiện thay đổi vĩnh viễn hoặc hoàn tác. Lưu ý rằng thao tác này sẽ khiến tất cả các trình kích hoạt XÓA trên bàn kích hoạt. Khóa mức hàng sẽ được thêm vào khi xóa
LÀM RƠI
Lệnh DROP xóa một bảng khỏi cơ sở dữ liệu. Tất cả các hàng, chỉ mục và đặc quyền của bảng cũng sẽ bị xóa. Sẽ không có trình kích hoạt DML nào được kích hoạt. Hoạt động không thể được khôi phục