在MySQL中根据日期搜索记录?

让我们首先创建一个表-

mysql> create table DemoTable732 (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   PassengerId int,
   PassengerName varchar(100),
   PassengerAge int,
   PassengerTravelDatetime datetime
);

使用insert命令在表中插入一些记录-

mysql> insert into DemoTable732(PassengerId,PassengerName,PassengerAge,PassengerTravelDatetime) values(110,'Chris',25,'2019-07-23 12:45:56');
mysql> insert into DemoTable732(PassengerId,PassengerName,PassengerAge,PassengerTravelDatetime) values(120,'Robert',24,'2019-07-21 11:05:00');
mysql> insert into DemoTable732(PassengerId,PassengerName,PassengerAge,PassengerTravelDatetime) values(120,'Sam',26,'2019-07-21 11:05:00');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable732;

这将产生以下输出-

+----+-------------+---------------+--------------+-------------------------+
| Id | PassengerId | PassengerName | PassengerAge | PassengerTravelDatetime |
+----+-------------+---------------+--------------+-------------------------+
| 1  | 110         | Chris         | 25           | 2019-07-23 12:45:56     |
| 2  | 120         | Robert        | 24           | 2019-07-21 11:05:00     |
| 3  | 120         | Sam           | 26           | 2019-07-21 11:05:00     |
+----+-------------+---------------+--------------+-------------------------+
3 rows in set (0.00 sec)

这是对简单SELECT COUNT SQL查询错误的查询-

mysql> select count(Id) from DemoTable732 where PassengerId=120 and
date(PassengerTravelDatetime)='2019-07-21';

这将产生以下输出-

+-----------+
| count(Id) |
+-----------+
| 2         |
+-----------+
1 row in set (0.00 sec)