С какими датами лучше работать в mysql для статистики по дням
С каким форматом даты лучше работать в mysql?
Задача: 1 раз в день (с первым заходом в день) в базе данных будет создаваться запись в которой текущая дата, и еще несколько столбцов разных статистических данных.
На следующий день должна создаться новая строчка и т.д.
Затем по датам мне нужно будет выбирать определенные промежутки времени. и оттуда уже данные.
1. Какой формат даты использовать удобнее и правильнее? (время не надо)
2. Как лучше определить что сегодня след день и нужно новую запись? — проверить дату последней записи и если она отличается от текущей то создать новую?
3. как потом выбрать промежуток? например последние 30 дней или сегодня.
Я не прошу составить за меня запросы (сам потихоньку), мне нужна подсказка с какими датами работать...
Большое спасибо всем кто откликнется.
Почитайте тут в вашем случай достаточно будет типа DATE
1.Сделал записи с 2013-01-01 по 2013-12-03
— как выбрать отсюда записи только за январь?
— как выбрать записи записи за последние две недели (получается с какого-то числа февраля по сегодня)
— или все за определенный год
…
— как выбрать отсюда записи только за январь?
SELECT * FROM mytable WHERE mydate >= '2013-01-01' AND mydate < '2013-02-01'
— как выбрать записи записи за последние две недели
SELECT * FROM mytable WHERE DATE_SUB(CURDATE(),INTERVAL 14 DAY) <= mydate;
— или все за определенный год
SELECT * FROM mytable WHERE mydate >= '2013-01-01' AND mydate < '2014-01-01'
dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
SELECT * FROM mytable WHERE YEAR(`mydate`) = YEAR(NOW())
потихоньку уже врубаюсь