mysql查询在两个独立的系统上返回不同的结果

时间:2015-02-13 08:56:49

标签: mysql ubuntu

我有这个非常简单的查询:

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

有没有人对我如何追踪它有任何想法?

谢谢。

1 个答案:

答案 0 :(得分:0)

我没有解决方案,但我知道如何追踪它 你有没有注意到the_count匹配2014年12月,但它不匹配1月或者febuary

我只使用了sqlite3,但尝试更改

    group by 1,2 

    group by year,month 

或者

    group by 2,1