我正在编写一个消息传递系统,我正在尝试选择按升序发送的最后 10 条消息(底部的最新消息)。
但是这样做有问题:(
这是我当前的 SELECT 语句,表中有超过 30 行可用。
SELECT * FROM
( SELECT * FROM messages ORDER BY addedDate DESC LIMIT 10 ) tb
WHERE ( senderID = "1" OR receiverID = "1" )
AND ( senderID = "3" OR receiverID = "3" )
ORDER BY addedDate ASC LIMIT 10
但是,由于某种原因,这仅返回 7 行,当使用不同的发送方和接收方组合时,如果行数少于我得到的结果少于 7 个,即使每个结果都应该给我至少 10 行我想要的。
是否有另一种方法可以用来获取匹配的后 10 行:
WHERE ( senderID = "1" OR receiverID = "1" )
AND ( senderID = "3" OR receiverID = "3" )
但按升序选择后 10 个。