Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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 如何按名称、日期分组并限制当前_日期_Php_Mysql_Mysqli - Fatal编程技术网

Php 如何按名称、日期分组并限制当前_日期

Php 如何按名称、日期分组并限制当前_日期,php,mysql,mysqli,Php,Mysql,Mysqli,我正在制作一个聊天机器人,人们可以在一个android游戏中发送他的报告,因此我创建了一个php页面,您可以在其中查看基于mysql查询的当天报告。但我无法创建正确的查询。这就是我尝试过的: select id, nickname, fecha, bestia1, bestia2, bestia3, bestia4, bestia5 from reporte where fecha > CURRENT_DATE() group by nickname DES

我正在制作一个聊天机器人,人们可以在一个android游戏中发送他的报告,因此我创建了一个php页面,您可以在其中查看基于mysql查询的当天报告。但我无法创建正确的查询。这就是我尝试过的:

select
    id, nickname, fecha, bestia1, bestia2, bestia3, bestia4, bestia5
from
    reporte
where
    fecha > CURRENT_DATE()
group by
    nickname DESC
如您所见,my table reporte保存由一个字符发送的信息,但一个字符每天可以发送多个报告,因此我只想显示每个名称的最新报告

我需要按昵称分组,按日期排序,并获取每个昵称的最新报告,但我对此有问题。我看过很多类似的帖子,但仍然不知道我到底要做什么。我需要一些帮助,谢谢

您的部分查询遗漏了订单

假设其余部分是正确的,下面是您的查询:

select id,nickname, fecha,bestia1,bestia2,bestia3,bestia4,bestia5 from reporte WHERE fecha>CURRENT_DATE() group by nickname order by id DESC

由于存在group by,您可能需要首先将id更改为maxid,您需要查询表REPORT以获取每个昵称的最新注册的fecha,如下所示:

西班牙文译本:

Primero,debes Consulttar la tabla Report(领事报告)对应于Calda登记处的别名:

SELECT nickname, MAX(fecha)
FROM reporte
GROUP BY nickname
现在,我将向您展示如何加入前面的查询,以获取与每个昵称关联的最新报告相关的其余数据:

SELECT nickname, MAX(fecha)
FROM reporte
GROUP BY nickname
西班牙文译本:

阿霍拉,我的目标是实现联合国加入前执政官会议,以获取有关地籍信息的信息。昵称:

SELECT nickname, MAX(fecha)
FROM reporte
GROUP BY nickname

感谢好的代码朋友,我测试了它,我收到了一条消息on子句中的“latest_reports.max_date”列未知这只是一个键入错误,我现在已经修复了它,它应该是最新的报告。max_date谢谢!,我从您的代码中获取了此代码,从reporte中选择r1.id、r1.昵称、r1.fecha、r1.bestia1、r1.bestia2、r1.bestia3、r1.bestia4、r1.bestia5作为r1内部联接选择昵称,MAXfecha作为max_date从reporte组按昵称作为latests_reports ON latests_reports.昵称=r1.昵称和latests_reports.max_date=r1.fecha ORDER BY r1.fecha DESC看起来不错,但您知道如何在fecha>CURRENT_date的位置添加我的行吗?我和那个朋友结束了,谢谢,这是因为当前查询显示了每天的所有行,我只想显示当前行如果我没有错的话,我为您所做的查询将显示与每个昵称关联的最后一个报告。如果你想忽略特定日期之前的报告,那么在查询结束或内部查询中使用WHERE子句,我将使用内部查询过滤更新此功能。哦,这是关于mysql和具有日期限制的组的最佳指南,朋友,谢谢!谢谢朋友,我检查了这个,它显示了每个昵称的旧信息,我上传了带有0/0/0值的报告,同一昵称中的最新值是3/0/0,因此它显示0/0/0/忽略最新报告考虑修改您的架构。见标准化。数据库表不是电子表格