Mysql查询差异
问题描述:
我有两个mysql查询,但获得不同的结果两个查询,虽然第一个查询似乎是给更多的结果。Mysql查询差异
MySQL [mydb1]> select count(*) from user_id where
create_time>='2017-07-28' and create_time<='2017-07-31';
+----------+
| count(*) |
+----------+
| 65150086 |
+----------+
MySQL [mydb1]> select count(*) from user_id where
create_time>='2017-07-28 16:30:00' and create_time<='2017-07-31 14:30:00';
+----------+
| count(*) |
+----------+
| 79679998 |
+----------+
+----------------+-------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+-------------------+-----------------------------+
| id | bigint(11) | NO | PRI | NULL | auto_increment |
| user_id | varchar(45) | NO | UNI | NULL | |
| name | varchar(45) | YES | MUL | NULL | |
| create_time | datetime | YES | | NULL | |
| update_time | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+----------------+-------------+------+-----+-------------------+---------
答
CREATE_TIME < = '2017年7月31日' 是指CREATE_TIME < = '2017年7月31日00:00:00'(一天开始)
你可能是之间的数据'2017-07-31 00:00:00'and'2017-07-31 14:30:00'
运行查询以检查您是否有上述时间间隔中的数据。
请给出关于数据类型create_time列的更多信息 – starko
您对两个查询使用不同的日期时间范围。为什么你会期望他们返回相同的结果? –
@LordPeter我认为create_time