【发布时间】:2023-01-02 02:58:26
【问题描述】:
我有一个我正在使用的消息传递系统,它从我的 Facebook 业务页面接收消息并将信息存储在我的数据库中。回调中提供的信息是发件人 ID、收件人 ID 和消息数据。我想将发件人和收件人之间的所有邮件分组在一起,并仅返回列表顶部的最新结果(按行 ID 号)。
例如 :
ID | Sender ID | Recipient ID | is_read
1 | 67890 | 12345 | 1
2 | 23232 | 12345 | 0
3 | 12345 | 67890 | 1
4 | 67890 | 12345 | 0
5 | 12345 | 23232 | 1
6 | 55555 | 12345 | 1
我不想显示发件人 ID 为“12345”的任何结果。
我需要的结果应该是这个样子
Result | Row ID | Sender ID
1 | 4 | 67890
2 | 2 | 23232
3 | 6 | 55555
这是我当前的查询。无论 senderid 顺序如何,都应首先返回包含最新消息的数组。目前,我得到随机结果。
$sql = "SELECT id, senderid, sender_name, is_read FROM (SELECT id, senderid, sender_name, is_read FROM FB WHERE senderid != '".$fb_page_id."' GROUP BY senderid) AS f ORDER BY is_read ASC LIMIT ".$page_num * $perpage.", ".$perpage;
这必须是简单的东西……只是想不通……大声笑。
【问题讨论】: