2017-07-03 73 views
1

Database table image 我上面的表,我想运行一个MySQL查询组行,其中noteIddataIdtype具有相同的值。的MySQL GROUP BY与ORDER BY改变

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

现在我相信上面这个查询应该做的分组,每个组在返回的最后一行。但是,我正在获得每组中的第一排。

例如,行13,1416被分组在一起。所以我想通过做ORDER BY id DESC来返回行16,而不是行13

请任何人都可以帮我吗?

+0

你可以添加你的PHP的解析代码呢?从返回的行? –

回答

2

你可以试试这个

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

谢谢,这工作 – user7713452