简体   繁体   中英

How to get the latest data of a specific day? [MYSQL]

How can I get the latest data of a specific day in MySQL?

Let's assume that I have a column of dates recorded on my database

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

I want to get the latest data or transaction of a specific date, my desired result would be like this

 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

Only the latest data of a spefic or distinct date is chosen, what is the possible query with this?

You need to do this way to get that for each dates

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

Use

SELECT * FROM TABLE_NAME GROUP BY dates ORDER BY time desc LIMIT 1;

Or

SELECT * FROM TABLE_NAME GROUP BY dates HAVING time <= '23:59:59' LIMIT 1;

Try this:

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;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM