MySQL GROUP BY使用ORDER BY进行更改

时间:2017-07-03 05:50:22

标签: php mysql

Database table image 我有上面的表格,我想运行一个MySQL查询来对noteIddataIdtype具有相同值的行进行分组。

$query = mysqli_query($con, "SELECT * FROM table WHERE userTo = '1' GROUP BY noteId, dataId, type ORDER BY id DESC");

现在我相信上面的这个查询应该进行分组并返回每个组中的最后一行。但相反,我得到了每组中的第一行。

例如,行131416组合在一起。因此,我希望通过执行16返回行ORDER BY id DESC,而是获取行13

请有人帮助我吗?

1 个答案:

答案 0 :(得分:2)

你可以试试这个

 SELECT * FROM (SELECT * FROM  table ORDER BY id DESC) t
 WHERE t.userTo = '1' GROUP BY t.noteId, t.dataId, t.type