Как получить последние данные за определенный день? [MYSQL]

Как я могу получить последние данные определенного дня в 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

Выбираются только самые последние данные конкретной или отдельной даты, каков возможный запрос с этим?

2

Решение

Вы должны сделать так, чтобы получить это для каждой даты

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
5

Другие решения

использование

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;
1

Попробуй это:

SELECT `dates`, MAX(`time`) AS `time`, MAX(`value`) AS `value`
FROM `tbl_name`
GROUP BY `dates`
ORDER BY `dates` ASC
1

Попробуйте этот запрос:

SELECT * FROM `table` GROUP BY dates ORDER BY time DESC;
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector