选择查询以显示具有最大日期的重复值
为此,请使用GROUP BY和HAVING。让我们首先创建一个表-
mysql> create table DemoTable(
StudentName varchar(100),
DueDate date
);
示例
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values('John','2019-01-11');mysql> insert into DemoTable values('Chris','2019-02-11');
mysql> insert into DemoTable values('Chris','2019-03-11');
mysql> insert into DemoTable values('John','2019-04-11');
mysql> insert into DemoTable values('Bob','2019-05-11');
mysql> insert into DemoTable values('Bob','2019-06-11');
mysql> insert into DemoTable values('Robert','2019-07-11');
mysql> insert into DemoTable values('Robert','2019-08-11');
mysql> insert into DemoTable values('Robert','2019-09-11');
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
输出结果
+-------------+------------+| StudentName | DueDate |
+-------------+------------+
| 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 rows in set (0.00 sec)
以下是查询以显示具有最大日期的重复值-
mysql> select tbl.StudentName,max(tbl.DueDate) from DemoTable tbl group by tbl.StudentNamehaving count(*) > 1;
输出结果
+-------------+------------------+| StudentName | max(tbl.DueDate) |
+-------------+------------------+
| John | 2019-04-11 |
| Chris | 2019-03-11 |
| Bob | 2019-06-11 |
| Robert | 2019-09-11 |
+-------------+------------------+
4 rows in set (0.00 sec)
以上是 选择查询以显示具有最大日期的重复值 的全部内容, 来源链接: utcz.com/z/322312.html