php - 如何避免两个不同列中的值重复

标签 php mysql

我正在聊天,我想选择用户已发送或接收的 Facebook 或 Twitter 等用户消息列表。我已经尝试过这个查询

SELECT DISTINCT * FROM message WHERE `userFrom` = 2 OR `userTo` = 2

但它返回了这张照片中的内容

下面是解释我的问题的图片

PROBLEM

所以我想返回这些用户之间的最后一个操作,如下所示

example

最佳答案

这将从同一关系中选择 fromuser 和 touser。

选择不同的最少(a.fromuser,b.fromuser), 最大的(a.touser,b.touser) 从表 a 加入表 b 在 a.fromuser=b.touser 上 和 a.touser=b.fromuser;

请参阅下面的演示:

http://sqlfiddle.com/#!9/cedc63/1

关于php - 如何避免两个不同列中的值重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49312975/

相关文章:

php - 在 jquery 中发布不更新元素

php - Laravel 多数据库 PHPUnit

mysql - 如果我只在 aiomysql 中选择,我是否需要提交

mysql - 如何比较两行并在一组多对中找到两行中较大的一个?

mysql 在数字之前对字符进行排序

php - 如何在 HH :MM:SS format 中获得具有精确值的时间字段的正确 sum()

php - Symfony 不会在 bundle 中搜索 twig 文件

php - Android MySql 使用 php 创建图像并将其上传到服务器

php - 如何通过第三方 API 安全维护用户身份验证?

mysql - 如何通过mysql创建这样的表