Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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\u查询检查数据库中最后30行的最后1个活动_Php_Mysql - Fatal编程技术网

Php 如何使用mysql\u查询检查数据库中最后30行的最后1个活动

Php 如何使用mysql\u查询检查数据库中最后30行的最后1个活动,php,mysql,Php,Mysql,我正在处理用户活动,所以在这种情况下,我需要检查最后30行中用户的最后一个活动 我试着用这个,但这将在所有表行,但因为我需要检查只有最后30我需要在这方面的帮助,谢谢 $CheckQuery = mysql_query("SELECT * FROM activities WHERE got_id='$user->id' ORDER BY `id` DESC LIMIT 0 , 1"); while($row = mysql_fetch_assoc($CheckQuery)) {

我正在处理用户活动,所以在这种情况下,我需要检查最后30行中用户的最后一个活动

我试着用这个,但这将在所有表行,但因为我需要检查只有最后30我需要在这方面的帮助,谢谢

$CheckQuery = mysql_query("SELECT * FROM activities WHERE got_id='$user->id' ORDER BY `id` DESC LIMIT 0 , 1");

while($row = mysql_fetch_assoc($CheckQuery))
{
    // some function
}
这就是我想知道的:)

如我所说:我需要检查最后30行中用户的最后一个活动(不是活动)。

试试这个

$CheckQuery = mysql_query("SELECT * FROM activities WHERE got_id='$user->id' ORDER BY `id` DESC LIMIT 30");

有关限制查询的信息,请参见此处:

这是正确的方法,您只能使用
限制30

SELECT * FROM activities WHERE got_id='$user->id' ORDER BY `id` DESC LIMIT 30
更新

如果您希望用户的最后一个活动全部包含在最后30个活动中,则必须首先子选择最后30个活动,然后从中选择用户的最后一个活动

select *
from (select *
      from activities
      order by `id` desc
      limit 30) t
where got_id = '$user->id'
limit 1

但是如果用户最近没有活动,这可能会给出一个空的结果集。

只需按降序计数选择最后30行即可。。 查看此查询:-

"Select * from activities WHERE got_id='$user->id' ORDER BY `id` DESC limit  30"

它将带来前30张唱片,但OP想要得到最后30张唱片。@deerox我认为每个人都被标题误导了,上面写着30行。@OlafDietsche是的,他们做了:但我只需要最后一个活动,不是最后30行的所有活动,但感谢它的工作,我将限制改为1我更改了标题,但我也是late@OlafDietsche你的更新很好,但我对中的t感到困惑query@deerox在这种情况下,必须为所有子选择项指定一个名称,
t
。但您可以选择任何名称,只要它是唯一的。您是指任何用户最后30行中的最后一个用户活动吗?如果是这样,那么您可能会得到一个空的结果集。是的,我知道有时最后30行中可能没有用户的活动,但我会用其他方式处理:)然后查看我的更新答案。
select *
from (select *
      from activities
      order by `id` desc
      limit 30) t
where got_id = '$user->id'
limit 1
"Select * from activities WHERE got_id='$user->id' ORDER BY `id` DESC limit  30"