Mysqli num行显示0结果

时间:2016-06-11 09:03:31

标签: mysql mysqli

我有两个查询,我获取返回最大投票结果和最大投票结果,但第一个查询返回0结果,第二个返回一些结果确实我已经在数据库中检查了我的结果,但第一个返回0。我花了很多时间调试这个,但我没有得到任何结果。也许一只眼睛找不到它所以我想与你分享这个,然后很多眼睛可以找到它或者? :)。

我的第一个补充投票查询代码-------->返回0

SELECT m.id ,cm.id ,cm.userid,cm.replyto,m.username ,cm.message,cm.edited,cm.date,cm.voteup,cm.votedown  
FROM chat_messages cm  
INNER JOIN members m  ON m.id =cm.userid
WHERE  cm.voteup - cm.votedown = (SELECT MAX(voteup - votedown ) 
                                  FROM chat_messages 
                                  WHERE  deleted != 1 
                                  AND voteup - votedown >= 5   ) 
AND  cm.room_id = 1      
ORDER BY cm.votedown asc,cm.voteup DESC,cm.id  
LIMIT 1 

-------->这给了我0

和我的第二个自上而下的投票查询-------->作品;我收到了结果

 SELECT m.id ,cm.id ,cm.userid,cm.replyto,m.username ,cm.message,cm.edited,cm.date,cm.voteup,cm.votedown  
 FROM chat_messages cm  
 INNER JOIN members m  ON m.id =cm.userid
 WHERE  cm.votedown - cm.voteup = (SELECT MAX(votedown - voteup)
                                   FROM chat_messages 
                                   WHERE deleted != 1 
                                   AND votedown - voteup >= 5) 
 AND  cm.room_id = 1  
 ORDER BY cm.voteup ASC, cm.votedown DESC, cm.id 
 LIMIT 1 

任何人都有任何想法?

修改

我得到的结果是voteup - votedown >= 7而且我在这里犯规,因为在我的查询中我有> = 5所以我想知道为什么?

EDIT2:

我的数据库架构

  id    int(11) AUTO_INCREMENT  
  userid    int(11) 
  replyto   int(11)
  message   text    utf8_general_ci 
  room_id   int(11) 
  edited    text    utf8_general_ci
  deleted   int(1)
  date  datetime
  date_edited   datetime
  voteup    int(11)
  votedown  int(11)

0 个答案:

没有答案