MySQL在新版本中与组有关的问题

MySQL在新版本中与组有关的问题,mysql,sql,group-by,sql-mode,Mysql,Sql,Group By,Sql Mode,你好 注: 在MySQL 5.7.0及更高版本中,默认情况下,sql模式下仅在“完整”组中包含 以下查询不可用: SELECT `ordered_list`.* FROM ( SELECT * FROM `test` ORDER BY `test`.`datetime` DESC ) `ordered_list` GROUP BY `ordere

你好

注: 在MySQL 5.7.0及更高版本中,默认情况下,sql模式下仅在“完整”组中包含

以下查询不可用:

SELECT
    `ordered_list`.*
FROM
    (
        SELECT
            *
        FROM
            `test`
        ORDER BY
            `test`.`datetime` DESC
    ) `ordered_list`
GROUP BY
    `ordered_list`.`parent_id`
给出错误消息 错误:SELECT列表的表达式#1不在GROUP BY子句中,并且包含未聚合的列“ordered_list.id”,该列在功能上不依赖于GROUP BY子句中的列;这与sql\u mode=only\u full\u group\u by不兼容 这是意料之中的

如果禁用此选项,我将得到以下结果:

Id  parent_id   datetime                field1          field2
1   1           2016-04-12 13:01:15     value 1-1-1     value 1-1-2
4   2           2016-04-26 13:08:31     value 2-4-1     value 2-4-2
5.7.x之前的MySQL版本返回所需的结果:

Id  parent_id   datetime                field1          field2
4   2           2016-04-26 13:08:31     value 2-4-1     value 2-4-2
2   1           2016-04-19 13:02:03     value 1-2-1     value 1-2-2
来源数据:

Id  parent_id   datetime                field1          field2
1   1           2016-04-12 13:01:15     value 1-1-1     value 1-1-2
2   1           2016-04-19 13:02:03     value 1-2-1     value 1-2-2
3   1           2016-04-05 13:07:54     value 1-3-1     value 1-3-2
4   2           2016-04-26 13:08:31     value 2-4-1     value 2-4-2
5   2           2016-04-19 13:09:24     value 2-5-1     value 2-5-2
6   2           2016-04-20 13:12:46     value 2-6-1     value 2-6-2
正如应该查找查询以选择每个组中最长日期中适当的数据行一样