反向搜索查询——从高到低搜索
Reverse search query - search from high to low
我想获取具有给定参数的消息:
select *
from chat.messages
where senderId = 1
and receiverId = 0
or senderId = 0
and receiverId = 1
order
by id ASC
LIMIT 0,10
我不想从最低的 ID 开始搜索,而是想反转它并从最高的 ID 开始,以便获得最新的。
您只想要降序排序吗?
select *
from chat.messages
where (senderid = 1 and receiverid = 0)
or (senderid = 0 and receiverid = 1)
order by id desc limit 0,10
请注意,我还修复了您的 where
子句中的逻辑缺陷问题:and
的优先级高于 or
,因此需要包围 or
条件带括号。否则你的 where
子句等同于:
where senderid = 1 and (receiverid = 0 or senderid = 0) and receiverid = 1
...这显然不是您想要的。
按降序排列
select * from chat.messages where senderId = 1 and receiverId = 0 or senderId = 0 and receiverId = 1 order by id DESC LIMIT 0,10
我想获取具有给定参数的消息:
select *
from chat.messages
where senderId = 1
and receiverId = 0
or senderId = 0
and receiverId = 1
order
by id ASC
LIMIT 0,10
我不想从最低的 ID 开始搜索,而是想反转它并从最高的 ID 开始,以便获得最新的。
您只想要降序排序吗?
select *
from chat.messages
where (senderid = 1 and receiverid = 0)
or (senderid = 0 and receiverid = 1)
order by id desc limit 0,10
请注意,我还修复了您的 where
子句中的逻辑缺陷问题:and
的优先级高于 or
,因此需要包围 or
条件带括号。否则你的 where
子句等同于:
where senderid = 1 and (receiverid = 0 or senderid = 0) and receiverid = 1
...这显然不是您想要的。
按降序排列
select * from chat.messages where senderId = 1 and receiverId = 0 or senderId = 0 and receiverId = 1 order by id DESC LIMIT 0,10