我有两个查询,我获取返回最大投票结果和最大投票结果,但第一个查询返回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)