查询我试图返回值超过10,000的列的总和结果。我已尝试在查询中添加总和(值)作为总计,但它无效。
我的代码是:
$this->db->select('sum(value) as total, date, member_id');
$this->db->where('member_id', $_SESSION['sess_user_id']);
$this->db->where('cost.value >', '9999');
$this->db->where('cost.date = DATE_SUB(NOW(), INTERVAL 5 DAY)');
$query = $this->db->get('orders');
return $query->num_rows();
这里是原始SQL输出:
选择总和(值)为总计,date
,member_id
FROM(steps
)WHERE member_id
=' 1'和cost
。value
> ' 9999' AND cost
。date
= DATE_SUB(NOW(),INTERVAL 5 DAY)
答案 0 :(得分:0)
不清楚你想要什么,但是:
如果您需要日期为5天的特定用户的值总和,那么您的查询应该有效,但有两个问题:
如果您需要特定用户的值为10000或更多的行数,则不得使用" SUM"或者你总是得到1作为结果(或null)。除此之外,日期恰好是5天前,包括小时,分钟和秒。
另一方面,你说你想要列数,我认为你需要行数,但如果你真的需要列数,你需要更改
SELECT sum(value) as total, date, member_id
到
SELECT *
和
return $query->num_rows();
到
return $query->num_fields();
希望有所帮助
答案 1 :(得分:0)
function cart_product_join()
{
$this->db->select('products.product_id,cart.product_id,SUM(products.special_price*cart.product_qty)');
$this->db->from('products');
$this->db->join('cart', 'cart.product_id = products.product_id', 'right');
$result = $this->db->get()->result();
return $result;
//$result=$this->db->last_query();
//echo $result;
}