[英]How to get 0-30 days record, 30-60 and 60 -90 and above 90 in mysql
在我的項目中,我想記錄0-30天,30-60天,60-90天和90以上的記錄。 目前,我獲取0-30天的記錄,如何從mysql數據庫中獲取其余信息。 我在下面附上了我的代碼。 我在codeigniter中做我的項目。
public function outstandingMonth(){
$query = $this->db->query("SELECT * FROM zemco_tbl_invoice a left join zemco_tbl_payment b on (a.invoice_no=b.payment_invoice_id) WHERE invoice_status = 2 AND invoice_modified_time BETWEEN NOW() - INTERVAL 30 DAY AND NOW()");
}
有人可以幫我解決這個問題嗎,謝謝
這只是在不知道數據庫的確切結構的情況下進行的猜測,但是這樣做不可行嗎?
invoice_modified_time BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
invoice_modified_time BETWEEN (NOW() - INTERVAL 60 DAY) AND (NOW() - INTERVAL 30 DAY)
invoice_modified_time BETWEEN (NOW() - INTERVAL 90 DAY) AND (NOW() - INTERVAL 60 DAY)
等等。
如果您可以將days
范圍間隔作為函數的輸入參數傳遞,則可以在查詢中使用它們來獲取記錄。
修改后的查詢如下例所示:
SELECT * FROM zemco_tbl_invoice a
left join zemco_tbl_payment b on (a.invoice_no=b.payment_invoice_id)
WHERE invoice_status = 2
AND invoice_modified_time BETWEEN ( NOW() - INTERVAL $toDays DAY )
AND ( NOW() - INTERVAL $fromDays DAY )
如果要在30到60天之間獲取記錄,則fromDays
為30
, toDays
為60。則上面的查詢結果如下:
SELECT * FROM zemco_tbl_invoice a
LEFT JOIN zemco_tbl_payment b ON a.invoice_no = b.payment_invoice_id
WHERE invoice_status = 2
AND invoice_modified_time BETWEEN ( NOW() - INTERVAL 60 DAY )
AND ( NOW() - INTERVAL 30 DAY )
您可以根據需要使用方法的輸入參數,並根據需要在查詢中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.