Bản ghi đối sánh số lượng MySQL với COUNT

Mysql Count Matching Records With Count



Sự dư thừa dữ liệu xảy ra vì rất nhiều lý do. Một số nhiệm vụ phức tạp mà bạn phải đối phó khi làm việc với hệ thống cơ sở dữ liệu là cố gắng phát hiện ra các giá trị trùng lặp. Vì mục đích này, Chúng tôi sẽ sử dụng phương thức tổng hợp COUNT (). Phương thức COUNT () trả về tổng các hàng nằm trong một bảng cụ thể. Hàm COUNT () cho phép bạn tính tổng tất cả các hàng hoặc chỉ các hàng phù hợp với điều kiện đã xác định. Trong hướng dẫn này, Bạn sẽ biết cách xác định các giá trị trùng lặp cho một hoặc có thể nhiều cột MySQL bằng cách sử dụng COUNT (). Phương thức COUNT () có ba loại sau:

  • ĐẾM(*)
  • COUNT (biểu thức)
  • COUNT (biểu thức DISTINCT)

Đảm bảo rằng bạn đã cài đặt MySQL trên hệ thống của mình. Mở máy khách dòng lệnh MySQL và nhập mật khẩu của bạn để tiếp tục. Chúng ta sẽ xem xét một số ví dụ để đếm các giá trị phù hợp bằng cách sử dụng phương thức COUNT ().









Chúng tôi có một bảng ‘xã hội’ trong ‘dữ liệu’ giản đồ của chúng tôi. Hãy kiểm tra hồ sơ của nó thông qua truy vấn sau.



>> LỰA CHỌN * TỪ dữ liệu .Xã hội;





MySQL COUNT (*)

Phương thức COUNT (*) được sử dụng để đếm số hàng nằm trong bảng hoặc đếm số hàng theo điều kiện đã cho. Để kiểm tra tổng số hàng trong bảng, ‘xã hội’ hãy thử truy vấn bên dưới. Chúng tôi có tổng cộng 15 hàng trong bảng theo kết quả.

>> LỰA CHỌN ĐẾM (*) TỪ dữ liệu .Xã hội;



Hãy xem qua phương thức COUNT (*) trong khi xác định một số điều kiện. Chúng tôi phải tìm nạp số hàng có tên người dùng giống như ‘Mustafa’. Bạn có thể thấy chúng tôi chỉ có 4 bản ghi cho cái tên cụ thể này.

>> LỰA CHỌN ĐẾM (*) TỪ dữ liệu .Xã hội Ở ĐÂU Người sử dụng ='Mustafa';

Để tìm nạp tổng số hàng trong đó trang web của người dùng là 'Instagram', hãy thử truy vấn được nêu bên dưới. Bảng ‘xã hội’ chỉ có 4 bản ghi cho trang web ‘Instagram’.

>> LỰA CHỌN ĐẾM (*) TỪ dữ liệu .Xã hội Ở ĐÂU Trang mạng=‘Instagram’;

Để truy xuất tổng số hàng có ‘Tuổi’ lớn hơn 18 như sau:

>> LỰA CHỌN ĐẾM (*) TỪ dữ liệu .Xã hội Ở ĐÂU Tuổi> 18;

Hãy tìm nạp dữ liệu của các cột 'Người dùng' và 'Trang web' từ một bảng, trong đó Tên người dùng bắt đầu bằng bảng chữ cái 'M'. Hãy thử hướng dẫn bên dưới trên vỏ.

>> LỰA CHỌN Người sử dụng ,Trang mạng TỪ dữ liệu .Xã hội Ở ĐÂU Người sử dụng như 'NS%';

MySQL COUNT (biểu thức)

Trong MySQL, phương thức COUNT (biểu thức) chỉ được sử dụng khi bạn muốn đếm các giá trị không phải Null của cột ‘biểu thức’. 'Biểu thức' sẽ là tên của bất kỳ cột nào. Hãy để chúng tôi lấy một ví dụ đơn giản về nó. Chúng tôi chỉ đếm các giá trị không rỗng của cột ‘Trang web’, cột này có liên quan đến cột ‘Tuổi’ có giá trị bằng ‘25’. Nhìn thấy! Chúng tôi chỉ có 4 bản ghi không rỗng cho những người dùng có độ tuổi ‘25’, những người đang sử dụng các trang web.

>> LỰA CHỌN ĐẾM (Trang mạng) TỪ dữ liệu .Xã hội Ở ĐÂU Tuổi= 25;

MySQL COUNT (biểu thức DISTNCT)

Trong MySQL, phương thức COUNT (biểu thức DISTINCT) được sử dụng để tính tổng các giá trị không phải Null và các giá trị khác biệt của cột ‘biểu thức’. Để đếm số lượng riêng biệt các giá trị không rỗng trong cột 'Tuổi', chúng tôi đã sử dụng truy vấn bên dưới. Bạn sẽ tìm thấy 6 bản ghi không rỗng và khác biệt của cột ‘Tuổi’ từ bảng ‘xã hội’. Điều này có nghĩa là chúng tôi có tổng cộng 6 người ở các độ tuổi khác nhau.

>> LỰA CHỌN ĐẾM ( RIÊNG BIỆT Tuổi) TỪ dữ liệu .Xã hội;

MySQL COUNT (IF (biểu thức))

Để có điểm nhấn lớn, bạn nên hợp nhất COUNT () với các hàm điều khiển luồng. Đối với người mới bắt đầu, đối với một phần của biểu thức đang được sử dụng trong phương thức COUNT (), bạn có thể sử dụng hàm IF (). Có thể rất hữu ích khi làm điều này để cung cấp phân tích nhanh thông tin bên trong cơ sở dữ liệu. Chúng tôi sẽ đếm số lượng hàng với các điều kiện tuổi khác nhau và chia chúng thành ba cột khác nhau, có thể được gọi là danh mục. Đầu tiên, COUNT (IF) sẽ đếm các hàng có độ tuổi nhỏ hơn 20 và lưu số lượng này vào một cột mới có tên là 'Thanh thiếu niên'. COUNT thứ hai (IF) đang đếm các hàng có độ tuổi từ 20 đến 30 trong khi lưu nó vào cột ‘Trẻ’. Thứ ba, cuối cùng đếm các hàng có độ tuổi lớn hơn 30 và được lưu vào cột 'Người lớn'. Chúng tôi có 5 thanh thiếu niên, 9 thanh niên và chỉ có 1 người trưởng thành trong hồ sơ của chúng tôi.

>> LỰA CHỌN ĐẾM ( NẾU NHƯ (Tuổi< hai mươi,1, VÔ GIÁ TRỊ ))'Tuổi teen', ĐẾM ( NẾU NHƯ (Tuổi GIỮA hai mươi 30,1, VÔ GIÁ TRỊ ))'Trẻ tuổi', ĐẾM ( NẾU NHƯ (Tuổi> 30,1, VÔ GIÁ TRỊ ))'Trưởng thành' TỪ dữ liệu .Xã hội;

MySQL COUNT (*) với Mệnh đề GROUP BY

Câu lệnh GROUP BY là một lệnh SQL sử dụng cho các hàng nhóm có cùng giá trị. Nó trả về tổng số giá trị nằm trong mỗi nhóm. Ví dụ: nếu bạn muốn kiểm tra số của từng người dùng riêng biệt, bạn phải xác định cột 'Người dùng' với mệnh đề GROUP BY trong khi đếm các bản ghi cho mỗi người dùng với COUNT (*).

>> LỰA CHỌN Người sử dụng , ĐẾM (*) TỪ dữ liệu .Xã hội NHÓM THEO Người sử dụng ;

Bạn có thể chọn nhiều hơn hai cột trong khi thực hiện đếm hàng cùng với mệnh đề GROUP BY, như sau.

>> LỰA CHỌN Người sử dụng ,Tuổi,Trang mạng, ĐẾM (*) TỪ dữ liệu .Xã hội NHÓM THEO Trang mạng;

Nếu chúng ta muốn đếm các hàng trong khi sử dụng mệnh đề WHERE có một số điều kiện trong đó cùng với GROUP BY và COUNT (*), bạn cũng có thể làm điều đó. Truy vấn dưới đây sẽ tìm nạp và đếm các bản ghi của các cột: ‘Người dùng’, ‘Trang web’ và ‘Độ tuổi’ trong đó giá trị trang web chỉ là ‘Instagram’ và ‘Snapchat’. Bạn có thể thấy chúng tôi chỉ có 1 bản ghi cho cả hai trang web cho những người dùng khác nhau.

>> LỰA CHỌN Người sử dụng ,Trang mạng,Tuổi, ĐẾM (*) TỪ dữ liệu .Xã hội Ở ĐÂU Trang mạng=‘Instagram’ Hoặc Trang mạng=‘Snapchat’ NHÓM THEO Trang mạng,Tuổi;

MySQL COUNT (*) với Mệnh đề GROUP BY và ORDER BY

Hãy thử cùng với các mệnh đề GROUP BY và ORDER BY bằng phương thức COUNT (). Hãy tìm nạp và đếm các hàng của bảng ‘xã hội’ trong khi sắp xếp dữ liệu theo thứ tự giảm dần bằng cách sử dụng truy vấn này:

>> LỰA CHỌN Người sử dụng ,Trang mạng,Tuổi, ĐẾM (*) TỪ dữ liệu .Xã hội NHÓM THEO Tuổi ĐẶT BỞI ĐẾM (*) DESC ;

Truy vấn được nêu dưới đây trước tiên sẽ đếm các hàng, sau đó hiển thị các bản ghi duy nhất có COUNT lớn hơn 2 theo thứ tự tăng dần.

>> LỰA CHỌN Người sử dụng ,Tuổi, ĐẾM (*) TỪ dữ liệu .Xã hội NHÓM THEO Tuổi ĐANG CÓ ĐẾM (*) > 2 ĐẶT BỞI ĐẾM (*) TĂNG DẦN ;

Phần kết luận

Chúng tôi đã xem qua tất cả các phương pháp có thể để đếm các bản ghi phù hợp hoặc trùng lặp bằng cách sử dụng phương thức COUNT () với các mệnh đề khác khác nhau.