【发布时间】:2013-09-02 22:11:15
【问题描述】:
我必须使用 >= 和 =< 查询具有 where 条件的东西,但我没有运气。这在 CODEIGNITER 中。
这是mysql查询中的自然方式:
SELECT COUNT(payment.keyid) AS rec_count, `product_key`.`client_name`,
`product_key`.`contact_email`, `product_key`.`status`, `product_key`.`id`,
`payment`.`paymentdate`, (payment.id) as pid, `payment`.`subscription_type`
FROM (`product_key`)
LEFT OUTER JOIN `payment` ON `payment`.`keyid`=`product_key`.`id`
WHERE `payment`.`paymentdate` >= '2013-08-01'
AND `payment`.`paymentdate` =< '2013-08-31'
AND `status` = 'purchased'
GROUP BY `product_key`.`id`
ORDER BY `client_name` asc
这就是我所拥有的:
return $this->db
->select('COUNT(payment.keyid) AS rec_count')
->select('product_key.client_name, product_key.contact_email, product_key.status, product_key.id, payment.paymentdate, (payment.id) as pid,payment.subscription_type')
->from('product_key')
->where('payment.paymentdate >=', $month_start)
->where('payment.paymentdate =<', $month_end)
->where('status', 'purchased')
->join('payment', 'payment.keyid=product_key.id', 'left outer')
->order_by('client_name', "asc")
->group_by('product_key.id')
->get()
->result();
也许有人可以在这方面帮助我。谢谢。
【问题讨论】:
-
你试过在 之间使用吗??
-
或者尝试将硬编码日期显式转换为日期
-
@ashutosh-arya 我以前从未在任何查询中使用过 between。尤其是现在我使用 codeigniter 作为我的框架。但我现在会搜索如何使用它。谢谢你的建议。
-
@AshutoshArya:
BETWEEN只是语法糖,但也许DATE_FORMAT会有所帮助
标签: php mysql sql codeigniter