0

私はこのようなクエリを持っています:

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

十分に単純です。これにより、接続時間以降に投稿されたメッセージを取得できます。

ただし、その接続時間より前に投稿された最後の15件のメッセージも取得する必要があります。(これをすべて1つのクエリで実行するのが最善です)。

どうすればいいですか?

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

ところで、 SQL インジェクション攻撃の可能性が完全 $connection_timeに取り除かれていることを確信していただければ幸いです (意味がわからない場合は、Bobby Tablesについて読んでください)。SQL で評価されないパラメーターとして変数を渡す準備済みステートメントを使用する必要があります。

于 2012-05-01T17:07:00.950 に答える