mysql数据库聊天表设置与聊天记录查询

一、功能场景

需求展示查询出好友给我发的最近一条信息
在这里插入图片描述

二、数据库设置

在这里插入图片描述

  • id:主键id
  • send_user_id:发送人id
  • receive_user_id:接收人id
  • content:发送内容
  • send_time:发送时间

三、代码实现

需求:查询用户id为1的所有的并且最新的聊天信息

一、未查询前的所有数据:
在这里插入图片描述
二、sql:

SELECT
	* 
FROM
	(
	SELECT
		* 
	FROM
		fa_hx_chat_content 
	WHERE
		send_time IN (
		SELECT
			MAX( send_time ) 
		FROM
			fa_hx_chat_content 
		WHERE
			receive_user_id = 1 
			OR send_user_id = 1 
		GROUP BY
			CONCAT(
			IF
				( send_user_id > receive_user_id, send_user_id, receive_user_id ),
			IF
			( send_user_id < receive_user_id, send_user_id, receive_user_id ))) 
		AND ( receive_user_id = 1 OR send_user_id = 1 ) 
	ORDER BY
		id DESC 
	) c 
GROUP BY
	c.send_time ASC

三、查询后的数据:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章