我有这个非常简单的查询:
SELECT count(*)
FROM `users`
where from_unixtime(reg_date/1000) >= '2014-12-17'
我的本地mySQL服务器: mysql Ver 14.14 Distrib 5.5.40,debian-linux-gnu(i686)使用readline 6.3
远程服务器: mysql Ver 14.14 Distrib 5.5.40,debian-linux-gnu(x86_64)使用re
除了32位与64位之外,它们是相同的。
两个表中的总记录相同--257行。
在服务器上运行查询会给我一个202的计数。
在我的电脑上运行查询给我的数量为203。
相同的数据库,相同的表,在users表中的相同行数,实际从服务器导出,PC表截断并导入到PC。
此外,在PC上执行此操作:
select
year(from_unixtime(reg_date/1000)) as year,
month(from_unixtime(reg_date/1000)) as month,
count(from_unixtime(reg_date/1000)) as the_count
from users
where from_unixtime(reg_date/1000) >= '2014-12-17'
group by 1,2
给了我:
year month the_count
2014 12 21
2015 1 87
2015 2 95
即:总共203,但在服务器上,给了我:
year month the_count
2014 12 21
2015 1 90
2015 2 91
总共:202
我无法为我的生活解决为什么会这样......
我已经阅读过其他帖子,但没有人帮助过,因为他们正在谈论加入和身份证不正确等等。
PC上的查询工具:localhost / phpmyadmin
服务器的查询工具:PC上的mySQL Workbench连接到带证书等的远程服务器。
服务器和PC上的操作系统:
服务器:Ubuntu 14.04 Trusty
PC:Ubuntu 14.04 Trusty
有没有人对我如何追踪它有任何想法?
谢谢。
答案 0 :(得分:0)
我没有解决方案,但我知道如何追踪它 你有没有注意到the_count匹配2014年12月,但它不匹配1月或者febuary
我只使用了sqlite3,但尝试更改
group by 1,2
到
group by year,month
或者
group by 2,1