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

Chọn truy vấn để hiển thị các giá trị trùng lặp với ngày tối đa

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

 mysql> tạo bảng DemoTable (StudentName varchar (100), DueDate date); Truy vấn OK, 0 hàng bị ảnh hưởng (0,72 giây) 

Ví dụ

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

 mysql> chèn vào giá trị DemoTable ('John', '2019-01-11'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,26 giây) mysql> chèn vào giá trị DemoTable ('Chris', '2019-02-11 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị DemoTable (' Chris ',' 2019-03-11 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị DemoTable ( 'John', '2019-04-11'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) mysql> chèn vào các giá trị DemoTable ('Bob', '2019-05-11'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,17 giây) mysql> chèn vào giá trị DemoTable ('Bob', '2019-06-11'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào giá trị DemoTable ('Robert', '2019-07-11 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây) mysql> chèn vào giá trị DemoTable (' Robert ',' 2019-08-11 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào giá trị DemoTable ( 'Robert', '2019-09-11'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 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ừ DemoTable; 

Đầu ra

 + ------------- + ------------ + | StudentName | Ngày đến hạn | + ------------- + ------------ + | John | 2019-01-11 || Chris | 2019-02-11 || Chris | 2019-03-11 || John | 2019-04-11 || Bob | 2019-05-11 || Bob | 2019-06-11 || Robert | 2019-07-11 || Robert | 2019-08-11 || Robert | 2019-09-11 | + ------------- + ------------ + 9 hàng trong bộ (0,00 giây) 

Sau đây là truy vấn để hiển thị các giá trị trùng lặp với ngày tối đa -

 mysql> select tbl.StudentName, max (tbl.DueDate) from DemoTable tbl group by tbl.StudentNamehaving count (*)> 1; 

Đầu ra

 + ------------- + ------------------ + | StudentName | max (tbl.DueDate) | + ------------- + ------------------ + | John | 2019-04-11 || Chris | 2019-03-11 || Bob | 2019-06-11 || Robert | 2019-09-11 | + ------------- + ------------------ + 4 hàng trong bộ (0,00 giây)