mysql检查最后x个帖子的userID

时间:2013-06-13 20:18:49

标签: php mysql

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

我是否必须使用记录集循环显示最后5个,或者是否有可以为我检查的SQL语句?

表格字段只是'日期''文字''用户ID'

3 个答案:

答案 0 :(得分:3)

您可以使用此类查询来获取相关人员最近5条消息中的多少条消息。

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

答案 1 :(得分:1)

在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与相关用户匹配。

答案 2 :(得分:0)

按日期(DESC)订购记录集(ORDER BY)并将其限制为5