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 
ORDER BY
	c.send_time DESC

三、查询后的数据:

经验分享 程序员 微信小程序 职场和发展