0

わかりましたので、1 つのテーブルで会話ベースのメッセージング システムを作成できるようにしようとしています。ユーザーがユーザーにメッセージを送信し、そのユーザーの ID を としてsent_id、送信者を としmy_idます。今私の問題は、それが表示されていることですが、複数回表示したくありません。使っていますDISTINCTが、効果がないようです。表の例:

|--ID--|--MY_ID--|--SENT_ID--|
   1        1          2
   2        2          1
   3        1          2

最新のものだけを表示するにはどうすればよいですか?

(こちら$my_idも既に脱出済みですのでご安心ください笑)

SELECT `my_id`, `sent_id`, `time_stamp` FROM `messages` WHERE `sent_id`="'.$my_id.'" || `my_id`="'.$my_id.'"

ここに私のテーブルがあります:

CREATE TABLE IF NOT EXISTS `messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `my_id` text NOT NULL,
  `sent_id` text NOT NULL,
  `message` text NOT NULL,
  `file` text NOT NULL,
  `time_stamp` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
4

1 に答える 1

0

ジェイク、最新のものについてあなたが何を意味するのか100%確信が持てません. ORDER BY DESCについて話しているのですか?

SELECT `my_id`, `sent_id`, `time_stamp` 
FROM `messages` 
WHERE `sent_id`="'.$my_id.'" || `my_id`="'.$my_id.'"
ORDER BY id DESC
LIMIT 1
于 2013-05-16T22:44:43.757 に答える