Codeigniter выбрать предыдущий день из записи базы данных - PullRequest
1 голос
/ 13 мая 2019

У меня возникла проблема с получением предыдущего дня записи из базы данных.Моя таблица выглядит следующим образом:

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();

Поэтому я ожидаю получить предыдущий день записи, а не предыдущий день текущей даты.Ребята, не могли бы вы помочь мне решить эту проблему?

Спасибо

1 Ответ

1 голос
/ 13 мая 2019

Выберите даты раньше, чем сегодня, но отсортируйте их по убыванию и получите только одну.Это вернет самую последнюю дату раньше, чем сегодня:

SELECT id, total, trx_date
       FROM trx_table 
       WHERE trx_date < NOW()
       ORDER BY trx_date DESC
       LIMIT 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...