Как я могу получить последние данные определенного дня в MySQL?
Давайте предположим, что у меня есть столбец дат, записанных в моей базе данных
dates | time | value
---------------------------------------------
2015-08-05 | 11:03:02 | 200
2015-08-05 | 23:04:22 | 2400
2015-08-07 | 8:00:22 | 500
2015-08-08 | 13:00:11 | 400
2015-08-08 | 13:23:11 | 200
2015-08-09 | 17:00:23 | 2200
2015-08-09 | 17:06:00 | 1290
2015-08-09 | 19:22:00 | 900
2015-08-13 | 01:01:22 | 1010
Я хочу получить последние данные или транзакцию на конкретную дату, мой желаемый результат будет таким
dates | time | value
---------------------------------------------
2015-08-05 | 23:04:22 | 2400
2015-08-07 | 8:00:22 | 500
2015-08-08 | 13:23:11 | 200
2015-08-09 | 19:22:00 | 900
2015-08-13 | 01:01:22 | 1010
Выбираются только самые последние данные конкретной или отдельной даты, каков возможный запрос с этим?
Вы должны сделать так, чтобы получить это для каждой даты
select t1.dates,t1.time,t1.value from table as t1 inner join
(
select dates,max(time) as time from table group by dates
) as t2 on t1.dates=t2.dates and t1.time=t2.time
использование
SELECT * FROM TABLE_NAME GROUP BY dates ORDER BY time desc LIMIT 1;
Или же
SELECT * FROM TABLE_NAME GROUP BY dates HAVING time <= '23:59:59' LIMIT 1;
Попробуй это:
SELECT `dates`, MAX(`time`) AS `time`, MAX(`value`) AS `value`
FROM `tbl_name`
GROUP BY `dates`
ORDER BY `dates` ASC
Попробуйте этот запрос:
SELECT * FROM `table` GROUP BY dates ORDER BY time DESC;