好吧,我正在尝试制作一个带有一张 table 的基于对话的消息系统。用户向用户发送消息,我们将其 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 ;
最佳答案
jack ,不是 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
关于php - 使用 PHP/MYSQL 进行基于对话的消息传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16598553/