Mysql查询混合日期时间和位置

时间:2012-05-01 17:01:56

标签: mysql datetime

我有这样的查询:

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

足够简单。 这允许我检索自连接时间以来发布的消息。

但我还需要检索在该连接时间之前发布的最后15条消息。 (最好的方法是使用单个查询完成所有操作)。

我该怎么做?

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

谢谢。

1 个答案:

答案 0 :(得分: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评估的参数传递到该语句中。