php - MySQL 为每个唯一列对返回单个结果

标签 php mysql sql

这是用户 #129 的表。消息要么是发给他的,要么是来自他的。

我想要用户最近发送/接收的消息(例如 128、130、131.. 等)


id msgTo msgFrom msgContent msgDate

1   129 130 Birmingham  2014-12-19 8:58
2   130 129 Montgomery  2014-12-19 10:59
3   129 131 Anchorage   2014-12-19 11:21
4   131 129 Phoenix 2014-12-19 11:24
5   131 129 Tucson  2014-12-19 11:32
6   128 129 Mesa    2014-12-19 11:34
7   129 128 Chandler    2014-12-19 11:36
8   129 131 Glendale    2014-12-19 11:47
9   131 129 Gilbert 2014-12-19 11:49
10  129 130 Scottsdale  2014-12-19 16:51

期望的结果 --->

id  msgTo msgFrom msgContent msgDate

10  129 130 Scottsdale  2014-12-19 16:51
9   131 129 Gilbert 2014-12-19 11:49
7   129 128 Chandler    2014-12-19 11:36

最佳答案

SELECT * FROM TABLE_NAME
WHERE msgTo = 129 OR msgFrom = 129
ORDER BY msgDate DESC
LIMIT 3;

关于php - MySQL 为每个唯一列对返回单个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27607695/

相关文章:

php - 检查表中所有字段是否为空

php - Symfony2 DoctrineMongoDBBundle 一对多双向引用

php - MySQL/PHP - 显示表中除一行之外的所有行

MySQL 事件调度

sql - 如何同时搜索复数和单数

sql - 通过在 where 子句中使用术语来排序

mysql - 高流量登录页面(gmail、facebook、twitter)使用的数据库架构有哪些特征?

php - 您的 Composer 依赖项需要 PHP 版本 ">= 8.0.0"。您正在运行 7.4.11

mysql - 如果另一个查询编辑了这些结果,数据库如何维护这些结果

php - 有人知道一个好的 PHP 联系人应用程序吗?