我们的应用程序有一个comment
表,看起来像这样(粗略架构)
id(unique, primary, autoincrement)
post_id(20 varchar)
comment (160 varchar)
user_id(20 varchar)
created_at(timestamp)
我们如何按照发布在他们身上的评论的降序排列独特的帖子,例如
post 1 (date posted 16/03/16)(latest comment 04:00 PM)
post 2 (date posted 29/03/16)(latest comment 03:00 PM)
我们无法制定这个,因为我们的代码返回的是第一条评论,而不是最新的评论
$this->db->select('*');
$this->db->distinct('post_id');
$this->db->order_by('created_at','DESC');
$this->db->limit(1);
$this->db->group_by('post_id');
$this->db->limit(10); // 10 unique post
$this->db->where('user_id',$user);
$query = $this->db->get('comments');
return $quer->result();
答案 0 :(得分:0)
尝试以下查询:
$query_result = $this->db->query('SELECT * FROM (
SELECT *
FROM comments
WHERE user_id='.(int)$user.'
ORDER BY id DESC) as temp
GROUP BY post_id
LIMIT 0,10');