Mysql唯一行基于一列值一个+更快的查询

时间:2015-02-05 21:47:56

标签: mysql

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

Screenshot of data

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

----------------------
entry_id | comment_id
----------------------
   380        4716
   371        4723

仅供参考,表名是评论。 (我的目标是获得每个条目的最新评论(最后一个))。我知道使用DISTINCT或group by无法实现。

感谢您的帮助。感谢

3 个答案:

答案 0 :(得分:0)

如果您只想选择entry_id:

SELECT DISTINCT entry_id FROM table WHERE ...

或者如果您需要选择多列,您应该这样做:

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

答案 1 :(得分:0)

以下查询符合我的目的(如果有人面临类似的问题)

SELECT entry_id, MAX(comment_id) AS comment_id FROM comments GROUP BY `entry_id`

答案 2 :(得分:0)

尝试此查询:

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;