如何根据一列的值从mysql表中获取唯一行?(请参见下面的屏幕截图,我想基于entry_id字段获取此表的唯一行)
我想要一个会产生以下结果的查询。
----------------------
entry_id | comment_id
----------------------
380 4716
371 4723
仅供参考,表名是评论。 (我的目标是获得每个条目的最新评论(最后一个))。我知道使用DISTINCT或group by无法实现。
感谢您的帮助。感谢
答案 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;