【发布时间】:2015-01-10 01:01:35
【问题描述】:
我目前正在处理两个表。
状态:
id INT(4) AUTO_INCREMENT
username VARCHAR(20)
text LONGTEXT
datetime VARCHAR(25)
attachment VARCHAR(11)
timestamp VARCHAR(50)
朋友:
id INT(2) AUTO_INCREMENT
added INT(1)
userto VARCHAR(32)
userfrom VARCHAR(32)
我想添加一个选项,让用户只过滤他们朋友的状态,并首先显示最新的状态。我的意思是最近的状态,而不是每个朋友的最新状态,我怀疑可以这样做:
ORDER BY status.id DESC
如何根据好友列表中用户的状态对状态进行排序?
【问题讨论】:
-
按用户排序?实际查询 + 预期结果会很好
-
我不知道如何编写查询,这就是我问的原因。另外,我在我的问题中解释了预期的结果。预期结果是查看它的用户的朋友的所有状态。
SELECT * FROM status, friends WHERE status.username = friends.userto AND friends.userto = '$username' OR status.username = friends.userfrom AND friends.userfrom = '$username' ORDER BY id DESC LIMIT $page, 15就我所知,但它只返回查看所述过滤器的人的状态。我想更多地学习如何在 SQL 中使用多个表,但现在我想要这个功能。 -
按“实际结果”我要表格内容。例如,显示两个表中的 3-5 行,然后显示您希望看到的结果(使用示例数据)。
-
@DoctorSatan 虽然我建议尝试一下我的答案,但我会在上面将您的答案更改为
status.username = friends.userto AND friends.userto = '$username'到status.username = friends.userto AND friends.userfrom = '$username'和另一个虎钳。想一想,如果您要加入 userto,并且用户名是该列,那么您将获得该用户。您希望一列代表用户,另一列代表朋友。