php - 是否可以将这两个 SQL 语句合二为一?

标签 php mysql sql


我正在使用这两个 MySQL 语句来获取两个用户之间的所有消息,但是在稍后处理代码中的数据时我遇到了一个非常大的问题,因为它不是按 ID 排序的。有什么方法可以组合这些语句并按 ID 对结果进行排序吗?

$sql = "SELECT * FROM messages WHERE sender='" . $username . "' AND receiver='" . $chatPartner . "'"

$sqlTwo = "SELECT * FROM messages WHERE sender='" . $chatPartner . "' AND receiver='" . $username . "'"

本质上,我需要两个人之间每次出现的消息,但按 ID 排序。截至目前,我正在加入数组以获取我的完整列表,但它不是按 ID 排序的。

最佳答案

SELECT * FROM messages 
WHERE (sender='" . $username . "' AND receiver='" . $chatPartner . "'")
OR (sender='" . $chatPartner . "' AND receiver='" . $username . "'")
ORDER BY id DESC

关于php - 是否可以将这两个 SQL 语句合二为一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878341/

相关文章:

mysql - 将 COUNT 与 CASE 结合使用,如何对结果列进行排序?

重复记录需要 MYSQL UNION

php - CakePHP : site not opening on webserver MIGRATION issue works fine on localhost

php - 如何获取递归数组的父级?

php - 使用 PHP 简单 HTML DOM 解析器时遇到错误

php - 将用户 ID 插入表单数据库提交 php

MYSQL正确的索引计算方法where条件(where a Table.a > Table.b)

php - 如何使用PDO绑定(bind)参数方法将多行文本插入mysql?

php - 如何在 MySQL 中更新或插入具有多对多关系的行

python - 从插入中选择不与 sqlalchemy 一起使用