[英]Codeigniter active record select, left join, count
我有一个显示数据库查询结果的表格,这些结果可以与许多其他资产关联在一起,我想找到一种显示每个元素有多少资产的方法。 例如,我的桌子是英国地区,另一个桌子是用户居住的地方,我目前有此代码,
$this->db->select('*');
$this->db->from('places');
$this->db->join('users, places.place_id = user.place_id, left');
$this->db->get();
我遇到的问题是查询返回地名和居住在该位置的用户数,这可能吗?
不知道确切的数据库设置,但是类似的事情就是您如何使用CodeIgniter的Active Record执行此查询
$this->db->select('places.place_id');
$this->db->select_sum('places.place_id', 'total');
$this->db->from('places');
$this->db->join('users', 'places.place_id = user.place_id', 'left');
$this->db->group_by('user.place_id');
$this->db->get();
select places.place_id,
count(*) as UsersAtThisPlace
from
places,
users
where
places.place_id = users.place_id
group by
places.place_id
不知道确切如何通过您的PHP实现,但它应该与上述查询一样简单
$ this-> db-> select(“以上整个字符串示例”);
另外,如果您在places表中还有其他描述性元素,则可以在计数之前也添加这些描述性元素(为了清楚起见),但是还必须将它们包括在组中,例如:
select places.place_id,
places.description,
places.otherfield,
count(*) as UsersAtThisPlace
from
places,
users
where
places.place_id = users.place_id
group by
places.place_id,
places.description,
places.otherfield
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.