通过一次+更快的查询,基于一列值的Mysql唯一行

通过一次+更快的查询,基于一列值的Mysql唯一行,mysql,Mysql,如何根据一列的值从mysql表中获取唯一行?请参见下面的屏幕截图,我想根据entry_id字段获取此表的唯一行 我想要一个将产生以下结果的查询 ---------------------- entry_id | comment_id ---------------------- 380 4716 371 4723 仅供参考,表名为注释。我的目标是得到最新的评论,每个条目最后一个评论。我知道,使用DISTINCT或group by无法实现这一点 谢谢你的帮

如何根据一列的值从mysql表中获取唯一行?请参见下面的屏幕截图,我想根据entry_id字段获取此表的唯一行

我想要一个将产生以下结果的查询

----------------------
entry_id | comment_id
----------------------
   380        4716
   371        4723
仅供参考,表名为注释。我的目标是得到最新的评论,每个条目最后一个评论。我知道,使用DISTINCT或group by无法实现这一点


谢谢你的帮助。如果您只想选择条目id,请多谢:

SELECT DISTINCT entry_id FROM table WHERE ...
或者,如果需要选择多个列,则应执行以下操作:

SELECT entry_id, comment_id ... FROM table WHERE ... GROUP BY entry_id

如果有人面临类似的问题,下面的问题符合我的目的

SELECT entry_id, MAX(comment_id) AS comment_id FROM comments GROUP BY `entry_id`
请尝试以下查询:

select entry_id ,
   (select comment_id from comments t1 
   where t1.entry_id= t2.entry_id 
   order by comment_id desc 
   limit 1) 'comment_id'
from comments t2;

注释id似乎是唯一的?您是否考虑过使用子查询来找出哪些值不是唯一的,并将其从结果集中排除?您是否可以指定,您需要的是所选列的不同值?请编辑您的问题并显示所需的结果。您的行表实际上已经是唯一的。。