从数据库获取记录的前一天有一些问题。我的桌子看起来像这样:
id total trx_date
1 | 100 | 2019-05-13 04:03:03 |
2 | 200 | 2019-05-13 14:13:48 |
3 | 300 | 2019-05-12 10:23:37 |
4 | 100 | 2019-05-10 12:14:14 | <<<<<<<<<<<
5 | 200 | 2019-05-10 15:23:38 |
6 | 400 | 2019-05-10 19:33:56 |
如果日期之间没有间隔,我可以获取前一个日期,但是如果前一个日期没有记录,我将无法获取前一个日期。
我的代码:
$this->db->select("id, total, trx_date")
->from("trx_table")
->where('date(trx_date)', date('Y-m-d', strtotime('-1 day')) )
->order_by("id","DESC")
->get();
因此,我希望获取记录的前一天,而不是当前日期的前一天。你们可以帮我解决这个问题吗?
谢谢
答案 0 :(得分:1)
选择早于今天的日期,但将它们降序排列,仅得到一个。这将返回比今天早的最新日期:
SELECT id, total, trx_date
FROM trx_table
WHERE trx_date < NOW()
ORDER BY trx_date DESC
LIMIT 1