Cách đếm hàng trùng lặp trong MySQL

Để bắt đầu, bạn phải cài đặt MySQL trên hệ thống của mình với các tiện ích của nó. Bàn làm việc của MySQL và vỏ máy khách dòng lệnh. Sau đó, bạn sẽ có một số dữ liệu hoặc giá trị trong các bảng cơ sở dữ liệu của mình dưới dạng trùng lặp. Hãy khám phá điều này với một số ví dụ. Trước hết, hãy mở trình bao máy khách dòng lệnh của bạn từ thanh tác vụ trên màn hình và nhập mật khẩu MySQL của bạn khi được hỏi

Cách đếm hàng trùng lặp trong MySQL

Chúng tôi đã tìm thấy các phương pháp khác nhau để tìm trùng lặp trong một bảng. Hãy xem từng cái một

Tìm kiếm trùng lặp trong một cột

Trước tiên, bạn phải biết về cú pháp của truy vấn được sử dụng để kiểm tra và đếm các bản sao cho một cột

>> CHỌN cột COUNT(column) TỪ bảng NHÓM THEO cột HAVING COUNT(col) > 1;

Đây là lời giải thích của truy vấn trên

  • Cột. Tên cột cần kiểm tra
  • ĐẾM(). chức năng được sử dụng để đếm nhiều giá trị trùng lặp
  • NHÓM THEO. mệnh đề được sử dụng để nhóm tất cả các hàng theo cột cụ thể đó

Chúng tôi đã tạo một bảng mới có tên là 'động vật' trong cơ sở dữ liệu MySQL của chúng tôi 'dữ liệu' có các giá trị trùng lặp. Nó có sáu cột với các giá trị khác nhau trong đó, e. g. , id, Tên, Loài, Giới tính, Tuổi và Giá cung cấp thông tin về các vật nuôi khác nhau. Khi gọi bảng này bằng truy vấn CHỌN, chúng tôi nhận được đầu ra bên dưới trên trình bao máy khách dòng lệnh MySQL của chúng tôi

>> CHỌN * TỪ dữ liệu. động vật;

Cách đếm hàng trùng lặp trong MySQL

Bây giờ, chúng ta sẽ cố gắng tìm các giá trị dư thừa và lặp lại từ bảng trên bằng cách sử dụng mệnh đề COUNT và GROUP BY trong truy vấn SELECT. Truy vấn này sẽ đếm Tên của vật nuôi được đặt ít hơn 3 lần trong bảng. Sau đó sẽ hiển thị các Tên đó như bên dưới

>> CHỌN Tên COUNT(Tên) TỪ dữ liệu. động vật NHÓM THEO Tên HAVING COUNT(Name) < 3;

Cách đếm hàng trùng lặp trong MySQL

Sử dụng cùng một truy vấn để nhận được các kết quả khác nhau trong khi thay đổi số COUNT cho Tên vật nuôi như hình bên dưới

>> CHỌN Tên COUNT(Tên) TỪ dữ liệu. động vật NHÓM THEO Tên HAVING COUNT(Name) > 3;

Cách đếm hàng trùng lặp trong MySQL

Để có kết quả cho tổng cộng 3 giá trị trùng lặp cho Tên vật nuôi như hình bên dưới

>> CHỌN Tên COUNT(Tên) TỪ dữ liệu. động vật NHÓM THEO Tên HAVING COUNT(Name) = 3;

Cách đếm hàng trùng lặp trong MySQL

Tìm kiếm trùng lặp trong nhiều cột

Cú pháp của truy vấn để kiểm tra hoặc đếm trùng lặp cho nhiều cột như sau

>> CHỌN col1, COUNT(col1), col2, COUNT(col2) TỪ bảng NHÓM THEO col1, col2 CÓ COUNT(col1) > 1 VÀ  COUNT(col2) > 1;

Đây là lời giải thích của truy vấn trên

  • cột1, cột2. tên các cột cần kiểm tra
  • ĐẾM(). chức năng được sử dụng để đếm một số giá trị trùng lặp
  • NHÓM THEO. mệnh đề được sử dụng để nhóm tất cả các hàng theo cột cụ thể đó

Chúng tôi đã sử dụng cùng một bảng có tên là 'động vật' có các giá trị trùng lặp. Chúng tôi đã nhận được kết quả bên dưới khi sử dụng truy vấn trên để kiểm tra các giá trị trùng lặp trong nhiều cột. Chúng tôi đã kiểm tra và đếm các giá trị trùng lặp cho các cột Giới tính và Giá trong khi được nhóm theo cột Giá. Nó sẽ hiển thị giới tính thú cưng và giá của chúng nằm trong bảng dưới dạng trùng lặp không quá 5

>> CHỌN Giới tính, COUNT(Giới tính), Giá, COUNT(Giá) TỪ dữ liệu. động vật NHÓM THEO GIÁ HAVING COUNT(Price) < 5 AND  COUNT(Giới tính) < 5;

Cách đếm hàng trùng lặp trong MySQL

Tìm kiếm các bản sao trong một bảng bằng cách sử dụng INNER JOIN

Đây là cú pháp cơ bản để tìm các bản sao trong một bảng

>> CHỌN col1, col2, bảng. col TỪ bảng INNER THAM GIA (CHỌN cột TỪ bảng NHÓM THEO cột HAVING COUNT(col1) > 1) tạm thời TRÊN bảng. col= nhiệt độ. col;

Đây là tường thuật của truy vấn trên cao

  • Col. tên của cột sẽ được kiểm tra và chọn cho các bản sao
  • Nhiệt độ. từ khóa để áp dụng liên kết bên trong trên một cột
  • Bàn. tên của bảng để được kiểm tra

Chúng tôi có một bảng mới, 'order2' với các giá trị trùng lặp trong cột OrderNo như hình bên dưới

>> CHỌN * TỪ dữ liệu. thứ tự2;

Cách đếm hàng trùng lặp trong MySQL

Chúng tôi đang chọn ba cột. Item, Sales, OrderNo sẽ được hiển thị trong đầu ra. Trong khi cột OrderNo được sử dụng để kiểm tra trùng lặp. Nối bên trong sẽ chọn các giá trị hoặc hàng có nhiều giá trị Mục trong một bảng. Khi thực hiện ta sẽ được kết quả như bên dưới

>> CHỌN Mặt hàng, Bán hàng, đặt hàng2. OrderNo TỪ dữ liệu. order2 INNER THAM GIA (CHỌN OrderNo TỪ dữ liệu. order2 GROUP BY OrderNo HAVING COUNT(Item) > 1) temp ON order2. Số thứ tự = tạm thời. Số thứ tự;

Cách đếm hàng trùng lặp trong MySQL

Tìm kiếm các bản sao trong nhiều bảng bằng cách sử dụng INNER JOIN

Đây là cú pháp đơn giản hóa để tìm các bản sao trong nhiều bảng

>> CHỌN col TỪ bảng1 INNER THAM GIA bảng2 TRÊN bảng1. col = bảng2. col;

Đây là mô tả của truy vấn trên cao

  • cột. tên của các cột được kiểm tra và chọn
  • THAM GIA BÊN TRONG. chức năng được sử dụng để nối hai bảng
  • TRÊN. được sử dụng để nối hai bảng theo các cột được cung cấp

Chúng tôi có hai bảng, 'order1' và 'order2', trong cơ sở dữ liệu của chúng tôi có cột 'OrderNo' ở cả hai như được hiển thị bên dưới

Cách đếm hàng trùng lặp trong MySQL

Chúng tôi sẽ sử dụng phép nối INNER để kết hợp các bản sao của hai bảng theo một cột được chỉ định. Mệnh đề INNER JOIN sẽ lấy tất cả dữ liệu từ cả hai bảng bằng cách nối chúng và mệnh đề ON sẽ liên kết các cột cùng tên từ cả hai bảng, e. g. , OrderNo

>> CHỌN * TỪ dữ liệu. order1 dữ liệu INNER JOIN. order2 BẬT order1. Số thứ tự = thứ tự 2. Đặt hàngKHÔNG;

Cách đếm hàng trùng lặp trong MySQL

Để có được các cột cụ thể trong một đầu ra, hãy thử lệnh dưới đây

>> CHỌN Vùng, Trạng thái, Mặt hàng, Bán hàng TỪ dữ liệu. order1 dữ liệu INNER JOIN. order2 BẬT order1. Số thứ tự = thứ tự 2. Đặt hàngKHÔNG;

Cách đếm hàng trùng lặp trong MySQL

Phần kết luận

Bây giờ chúng tôi có thể tìm kiếm nhiều bản sao trong một hoặc một số bảng thông tin MySQL và nhận ra chức năng GROUP BY, COUNT và INNER JOIN. Đảm bảo rằng bạn đã xây dựng các bảng đúng cách và các cột bên phải đã được chọn

Làm cách nào để đếm số bản ghi trùng lặp trong MySQL?

Tìm các giá trị Hàng trùng lặp trong một Cột . Chúng tôi cũng sử dụng mệnh đề COUNT() và HAVING để lấy số lượng hàng cho mỗi nhóm. SELECT col, COUNT(col) FROM table_name GROUP BY col HAVING COUNT(col) > 1; In the above query, we do a GROUP BY for the column for which we want to check duplicates. We also use a COUNT() and HAVING clause to get the row counts for each group.

Làm cách nào tôi có thể đếm các hàng trùng lặp trong truy vấn SQL?

Hàm COUNT() của SQL được sử dụng ở đây để đếm các hàng trùng lặp.