Php 如何修复此sql以仅显示最后一行,而不显示满足条件查询的所有行?

Php 如何修复此sql以仅显示最后一行,而不显示满足条件查询的所有行?,php,mysql,sql,Php,Mysql,Sql,我使用以下sql来显示最近5分钟浏览网站的活动用户。然后,这些行与浏览的页面一起显示。但是,如果用户(散列)在5分钟内浏览多个页面,则会显示所有页面 我只想显示每个用户的最后一页。我该怎么做? 限制1无效,因为我想为所有活动用户显示最后一页。不仅仅是一个用户 SELECT behaviour.hash, behaviour.page FROM active inner join behaviour ON active.hash

我使用以下sql来显示最近5分钟浏览网站的活动用户。然后,这些行与浏览的页面一起显示。但是,如果用户(散列)在5分钟内浏览多个页面,则会显示所有页面

我只想显示每个用户的最后一页。我该怎么做? 限制1无效,因为我想为所有活动用户显示最后一页。不仅仅是一个用户

SELECT behaviour.hash, 
       behaviour.page 
FROM   active 
       inner join behaviour 
               ON active.hash = behaviour.hash 
WHERE  active.last_active >= Now() - interval 10 second 
       AND behaviour.timestamp >= Now() - interval 5 minute 
ORDER  BY behaviour.timestamp DESC 

我认为这将对你正在做的事情起作用:

SELECT b.hash, b.page 
FROM active a join
     behaviour b
     ON a.hash = b.hash join
     (select b2.hash, max(timestamp) as maxts
      from behavior b2
      where timestamp >= Now() - interval 5 minute 
      group by b2.hash
     ) bh
     ON bh.hash = b.hash and bh.maxts = b.timestamp
WHERE  a.last_active >= Now() - interval 10 second 
ORDER BY b.timestamp DESC ;

它获取子查询中的最大时间戳并将其加入。

按行为排序。时间戳限制1
仅显示第一条记录(实际查询的最后一条记录)@fantagirocco LIMIT 1如果只有一个用户就可以了。但问题是,它必须显示每个用户的最后一页。
MAX(behavior.timestamp)
<代码>按用户分组\u列?用户的引用在SQL中丢失,问题是“活动用户”,但查询显示“哈希”和“页面”。请澄清问题。@Fantagirocco您能告诉我在哪里添加它吗?“字段列表”中的未知列“b2.hash”