php - 从表中打印记录但不打印重复项

标签 php mysql database inbox

好吧,我不确定如何将它作为一个问题来表达,很抱歉,它的措辞不是很好。我在其他任何地方都找不到答案(可能是因为我无法正确表达我的问题)

这是我的问题:我的网站上有一个收件箱/发件箱系统,我想做的是列出向该用户发送消息的人员名单,但我想不出任何办法要执行此操作,它将在消息表中进行拖网,并且每个用户名仅选择一条记录,如果不够清楚,我们很抱歉,如果需要,很乐意进一步扩展..

最佳答案

如果您提供一些您所拥有的代码和结构,将会很有帮助。

我假设您有这样一张表:

CREATE TABLE `messages` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`sender` VARCHAR ( 50 ) NOT NULL ,
`receiver` VARCHAR ( 50 ) NOT NULL ,
`dateSent` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`contents` TEXT NOT NULL )

然后输入数据,像这样:

id  sender  receiver    dateSent    contents
1   Joe     Jane    4/8/2013 9:15   How are you?
2   Jane    Joe     4/8/2013 9:22   Fine
3   Joe     Jane    4/8/2013 9:27   Can you help me with MySQL?
4   Jane    Joe     4/8/2013 9:31   Sorry. Ask Meg.
5   Joe     Meg     4/8/2013 9:38   Can you help me with MySQL?
8   Meg     Joe     4/8/2013 9:45   Sure!

现在您想知道是谁向 Joe 发送了消息。这是 SQL:

SELECT `sender` FROM `messages`
WHERE `receiver` = "Joe"
GROUP BY `sender`

该 SQL 的结果将是:

  Sender
  Jane
  Meg

即使简向乔发送了 2 条消息,她的名字也只出现了一次。

关于php - 从表中打印记录但不打印重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15776311/

相关文章:

php - 连接表,必须在同一查询中获取表名

php - 使用 PHP/MySQL 客户端从在线无缝过渡到离线?

database - 频繁变化的数据分页

php - MySQL:获取前一条记录的ID

php - SQL 查询可以使用 2 AND 吗?

mysql - 使用条件按两列排序?

php - Laravel Many to Many 名字转了一圈

php - 创建一个 GZipped tar 文件并通过 PHP 动态流式传输它?

php - node.js 如何处理故意大的(和坏的)http 请求

mysql - 在数据库中拥有标志是否比每次查询表更好?