Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để tìm các hàng có giá trị chính xác trong một hoặc nhiều cột với MySQL?

Đối với điều này, bạn có thể sử dụng GROUP BY HAVING với truy vấn con. Đầu tiên chúng ta hãy tạo một bảng -

 mysql> tạo bảng DemoTable1861 (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar (20), Marks int); Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> chèn vào các giá trị DemoTable1861 (Tên, Dấu) ('John', 45); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> chèn vào giá trị DemoTable1861 (Tên, Dấu) ('Chris', 74); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> chèn vào các giá trị DemoTable1861 (Tên, Dấu) ('David', 89); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> chèn vào DemoTable1861 (Tên, Dấu) giá trị ('Chris', 74); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây) mysql> chèn vào các giá trị DemoTable1861 (Tên, Dấu) ('John', 49); Truy vấn OK, 1 hàng bị ảnh hưởng (0,00 giây)  

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

 mysql> select * từ DemoTable1861; 

Điều này sẽ tạo ra kết quả sau -

 + ---- + ------- + ------- + | Id | Tên | Dấu | + ---- + ------- + ------- + | 1 | John | 45 || 2 | Chris | 74 || 3 | David | 89 || 4 | Chris | 74 || 5 | John | 49 | + ---- + ------- + ------- + 5 hàng trong bộ (0,00 giây) 

Đây là truy vấn để tìm các hàng có giá trị chính xác trong một hoặc nhiều cột:

 mysql> chọn Id, Tên, Dấu từ DemoTable1861 trong đó (Tên, Dấu) IN (chọn Tên, Dấu từ nhóm DemoTable1861 theo Tên, Dấu có số lượng (*)> 1); 

Điều này sẽ tạo ra kết quả sau -

 + ---- + ------- + ------- + | Id | Tên | Dấu | + ---- + ------- + ------- + | 2 | Chris | 74 || 4 | Chris | 74 | + ---- + ------- + ------- + 2 hàng trong bộ (0,00 giây)