mysql检查最近x个帖子的userID


mysql check userID of last x posts

我在我的网站上有一个php聊天脚本,我做的,我想添加一个反垃圾邮件措施,这样它就不会发布你的消息,如果mysql表中的最后5条消息是由你。

我必须通过一个记录集的最后5循环,或者有一个SQL语句,可以为我检查这个吗?

表字段只有'date' 'text' 'userid'

您可以使用这样的查询来获取所讨论的人最近收到的5条消息中有多少条。

select 
     sum(if(userid = '$user_id',1,0)) = 5 
     from (
         select userid from chat order by id desc limit 5
     ); 

MySQL:

select userid, count(date) as howmany from 
( 
  select userid, date 
  from YOURTABLENAME 
  order by date desc
  limit 5
) 
  lastfiverows
group by userid
order by howmany

然后在PHP中检查"howmany"字段是否为5,并且userid是否与所讨论的用户匹配。

按日期(DESC)排序记录集(Order BY),并将其限制为5