【问题标题】:mysql query returning different results on two separate systemsmysql查询在两个不同的系统上返回不同的结果
【发布时间】:2015-02-13 17:11:52
【问题描述】:

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

SELECT count(*)
FROM `users` 
where from_unixtime(reg_date/1000) >= '2014-12-17'

我的本​​地 mySQL 服务器: mysql Ver 14.14 Distrib 5.5.40,适用于使用 readline 6.3 的 debian-linux-gnu (i686)

远程服务器: mysql Ver 14.14 Distrib 5.5.40,适用于 debian-linux-gnu (x86_64) 使用 re

除了 32 位和 64 位之外,它们是相同的。

两个表中的总记录相同 - 257 行。

在服务器上运行查询得到的计数是 202。

在我的 PC 上运行查询得到的计数是 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

ie:总共 203,但在服务器上,给了我:

year  month  the_count
2014   12    21
2015    1    90
2015    2    91

总数:202

我一生都无法弄清楚为什么会发生这种情况......

我读过其他帖子,但没有一个有帮助,因为他们在谈论加入和 ID 不正常等。

PC端查询工具:localhost/phpmyadmin

服务器查询工具:PC上的mySQL Workbench用证书等连接远程服务器

服务器和PC上的操作系统:

服务器:Ubuntu 14.04 Trusty

PC:Ubuntu 14.04 值得信赖

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

谢谢。

【问题讨论】:

  • 你能检查你的数据库和客户端的语言环境吗?我看起来不太像时区影响。
  • @frian - 谢谢!我以为可能是这样,但遗憾的是,没有。在 PC 和服务器上运行“locale”命令会产生完全相同相同的输出:LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC=en_AU.UTF-8 LC_TIME =en_AU.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=en_AU.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=en_AU.UTF-8 LC_NAME=en_AU.UTF-8 LC_ADDRESS=en_AU.UTF -8 LC_TELEPHONE=en_AU.UTF-8 LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=en_AU.UTF-8 LC_ALL=唯一的区别是PC的LANGUAGE=en,其中服务器为空白。
  • @frian - 经过进一步检查,服务器的时区是 UTC。 PC 的时区是 AEST。我需要做一些改变! :) 感谢您的提示!

标签: mysql ubuntu


【解决方案1】:

我没有解决方案,但我知道如何追踪它 您是否没有注意到 the_count 与 2014 年 12 月匹配,但与 1 月或 2 月都不匹配

我只使用过 sqlite3 但尝试更改

    group by 1,2 

    group by year,month 

或许

    group by 2,1

【讨论】:

  • 我也认为是我的帮助,但没有:按年分组,按月给我:code 2014 12 21 2015 1 181 2015 2 1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-24
  • 1970-01-01
相关资源
最近更新 更多