我们的应用程序有一个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();
尝试以下查询:
$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');