SQL 查询在两个不同的 Mysql AWS 服务器上的工作方式不同

SQL Query not working the same way in two different Mysql AWS Servers

我们有两个 mysql sql RDS 服务器,我们面临一个我无法解决的问题。我们使用的查询是从数据集中简单选择最大日期行。这在第一台服务器上工作正常,而在另一台服务器上即使在同一数据集上也无法正常工作。

我们正在使用的查询如下:

SELECT `name`,last_update_date FROM 
(SELECT * FROM `table1` ORDER BY last_update_date DESC) X  GROUP BY `name`;

我不确定为什么会这样。我检查了两台服务器上的全局变量,发现新服务器中不存在以下变量:

binlogging_impossible_mode
innodb_additional_mem_pool_size
innodb_mirrored_log_groups
innodb_use_sys_malloc
simplified_binlog_gtid_recovery
sql_log_bin
storage_engine
thread_concurrency
timed_mutexes

感谢任何帮助。

这不是获取每个名称的最大日期的正确方法,没有理由期望从中得到一致的结果。正确的方法是:

select name, MAX(last_update_date) as last_update_date
FROM table1
GROUP BY name

它似乎在一台服务器上运行的事实只是巧合,它可能不会持久。

如果要获取包含最大日期的整行,请参见SQL Select only rows with Max Value on a Column