0

好的,所以我正在努力做到这一点,这样我就可以用一张桌子制作一个基于对话的消息系统。用户向用户发送消息,我们将其 id 设置为sent_id,发送者为my_id。现在我的问题是,它正在显示,但我不希望它显示不止一次。我一直在使用DISTINCT,但这似乎不起作用。示例表:

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

如何让它只显示最新的?

(也$my_id已经逃过了,别担心lol)

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 回答