mysql - 同一 MySQL 查询的不同结果
问题描述
我有以下查询:
SELECT visitorIP
FROM visitors
WHERE visitDate BETWEEN '2018-08-18 00:00:00 ' AND '2018-08-19 20:32:03'
ORDER
BY visitDate DESC
这给了我 529 个项目(IP 地址)作为结果。我已将时间段分解为以下部分,这些部分与上述声明中使用的部分完全相同:
2018-08-18 00:00:00 ~ 2018-08-19 00:00:00 and
2018-08-19 00:00:00 ~ 2018-08-19 20:32:03
并使用相同的 SQL 语句查询它们,第一个得到 544 个结果,第二个得到 36 个结果!令人惊讶的是,他们的总和根本不是 529(大于实际结果!!!)。
我该如何解决?
解决方案
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table
(my_int INT NOT NULL);
INSERT INTO my_table VALUES
(1),(2),(3),(4),(5),(6),(7),(8),(9);
SELECT * FROM my_table WHERE my_int BETWEEN 2 AND 8;
+--------+
| my_int |
+--------+
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
+--------+
7 rows in set (0.00 sec)
SELECT * FROM my_table WHERE my_int BETWEEN 2 AND 4
UNION ALL
SELECT * FROM my_table WHERE my_int BETWEEN 4 AND 8;
+--------+
| my_int |
+--------+
| 2 |
| 3 |
| 4 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
+--------+
8 rows in set (0.00 sec)
推荐阅读
- http - 加载时间长并显示 _InternalLinkedHashMap 和 List
错误 - sql-server - 使用 vb.net 备份 Sql server 数据库
- reactjs - 在 api 调用 Redux Saga 的标头中添加令牌
- reactjs - 如何使用 React 创建图像注释
- qt - Qt 版本构建需要 Visual Studio 库才能工作
- scala - 在运行时重新加载证书服务器
- reactjs - 从异步 api 调用设置新值后, const 为“未定义”
- c++ - OpenMPI 跨节点 Allreduce 算子失败,连接超时
- c# - 如何动态覆盖动态对象的所有属性?
- python - 如何克服错误 429:Heroku 服务器上 Twitter API 的请求过多