Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql正在通过获取组中的最后一个条目_Php_Mysql_Sql - Fatal编程技术网

Php Mysql正在通过获取组中的最后一个条目

Php Mysql正在通过获取组中的最后一个条目,php,mysql,sql,Php,Mysql,Sql,嘿,这是我的MySQL查询 $userid="id of logged in user"; 它给出两个用户之间记录的第一条消息,而不是最后一条。我希望最后一封邮件显示在邮件收件箱中。我使用此查询在收件箱中显示与登录用户(或您可以说是特定用户)的不同用户的唯一对话 你可以检查demo@试试这个 SELECT id, message, user_name, receiver_id, sender_id FROM chat WHERE post_time = MAX(post_time) AND

嘿,这是我的MySQL查询

$userid="id of logged in user";

它给出两个用户之间记录的第一条消息,而不是最后一条。我希望最后一封邮件显示在邮件收件箱中。我使用此查询在收件箱中显示与登录用户(或您可以说是特定用户)的不同用户的唯一对话 你可以检查demo@

试试这个

SELECT id, message, user_name, receiver_id, sender_id
FROM chat
WHERE post_time = MAX(post_time) AND (receiver_id =$userid
OR sender_id =$userid)
GROUP BY GREATEST( receiver_id, sender_id ) , LEAST( receiver_id, sender_id ) 
ORDER BY id DESC 
LIMIT 0 , 1000
这可能对你有帮助

SELECT id, message, user_name, receiver_id, sender_id
FROM chat
WHERE receiver_id =$userid
OR sender_id =$userid
HAVING post_time = MAX(post_time) 
GROUP BY GREATEST( receiver_id, sender_id ) ,         LEAST( receiver_id, sender_id ) 
ORDER BY id DESC 
LIMIT 0 , 1000

我自己解决了这个密码。。。。。。。。。。。。。如果有人需要它,它将帮助其他人也谢谢你

SELECT m.* 
FROM (
SELECT sender_id + receiver_id -1 AS other_recipient_id, MAX( id ) AS id
FROM chat
WHERE (sender_id =*user's_id*
OR receiver_id =*user's_id*)
GROUP BY sender_id + receiver_id -1
)mm
INNER JOIN chat m ON mm.id = m.id
ORDER BY id ASC

谢谢你的回复,但你的代码要么是错误的,要么不是我的工作。对不起…………我已经发布了新的答案。这可能会帮助您考虑提供适当的DDL(和/或SQLFIDLE)以及所需的结果集;查看与您的MySQL服务器版本对应的手册,了解使用near'或sender\u id=HAVING post\u time=MAX(post\u time)GROUP BY MASTER(receiver\u)的正确语法(第4行),只需在“GROUP BY”之后写入“HAVING”子句,然后尝试返回仅发送一条消息的对话抱歉……。)
SELECT m.* 
FROM (
SELECT sender_id + receiver_id -1 AS other_recipient_id, MAX( id ) AS id
FROM chat
WHERE (sender_id =*user's_id*
OR receiver_id =*user's_id*)
GROUP BY sender_id + receiver_id -1
)mm
INNER JOIN chat m ON mm.id = m.id
ORDER BY id ASC