0

我有一个这样的查询:

SELECT message_text 
FROM messages 
WHERE message_date >= '$connection_time'

很简单。这使我可以检索自连接时间以来发布的消息。

但我还需要检索在该连接时间之前发布的最后 15 条消息。(最好是用一个查询来完成这一切)。

我该怎么做?

PS:我考虑获取检索到的第一条消息的 id 并减去 15,但它仅在 id 是连续的情况下才有效,但情况并非总是如此。

谢谢你。

4

1 回答 1

1

将以下查询加入到您现有的查询中UNION

SELECT   message_text
FROM     messages
WHERE    message_date < '$connection_time'
ORDER BY message_date DESC
LIMIT    15

顺便说一句,我真的真的很希望你绝对确定 $connection_time已经被剥夺了任何潜在的 SQL 注入攻击(如果你不知道这意味着什么,去阅读Bobby Tables)。您应该使用准备好的语句,将变量作为参数传递给其中,这些参数不会被 SQL 评估。

于 2012-05-01T17:07:00.950 回答