Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取特定日期的最新数据?[MYSQL]_Php_Mysql_Sql_Max_Distinct - Fatal编程技术网

Php 如何获取特定日期的最新数据?[MYSQL]

Php 如何获取特定日期的最新数据?[MYSQL],php,mysql,sql,max,distinct,Php,Mysql,Sql,Max,Distinct,如何在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 | 1

如何在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 * FROM TABLE_NAME GROUP BY dates ORDER BY time desc LIMIT 1;

请尝试以下查询:

SELECT * FROM `table` GROUP BY dates ORDER BY time DESC;

你需要这样做,才能在每次约会中都做到这一点

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 `dates`, MAX(`time`) AS `time`, MAX(`value`) AS `value`
FROM `tbl_name`
GROUP BY `dates`
ORDER BY `dates` ASC

但是,如何使用此查询获取特定日期的数据呢?group by将为每个日期返回一个随机行。那么订单是。。。。limit将从这些随机行中选择最新的5行。这是有意义的,与其他答案相反:是的,我只是好奇内部连接的作用是什么?我只有一个表。同一个表上需要内部联接。别名为t2的表查找每个日期的最长时间,并使用date和maximum time与同一个表联接以获取可用值我尝试将上面的代码应用到我的项目中,但它仍然返回相同的原始表。您的原始帖子没有说明任何其他条件。您可以尝试选择t1.时间\修改,t1.日期\修改,t1.余额\在tbl \ U savingrequest批准后,作为t1内部联接选择日期\修改,MAXtime_修改为time_修改自tbl_savingrequest,其中用户_id='64401022'和请求_状态='1'按日期分组_修改为t1.date_修改为t2.date_修改和t1.time_修改为t2.time_修改,其中t1.user_id='64401022'和t1.request_状态='1';maxvalue显示最高值,而不是最新值。这将返回一行;OP要求每天排一行。而且不能像那样使用having子句:它需要时间的聚合。即使你可以,一个过滤器的时间是,sql是好的,比别人容易理解,但它只返回1行?
SELECT `dates`, MAX(`time`) AS `time`, MAX(`value`) AS `value`
FROM `tbl_name`
GROUP BY `dates`
ORDER BY `dates` ASC