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

一、功能场景

需求展示查询出好友给我发的最近一条信息
mysql数据库聊天表设置与聊天记录查询_第1张图片

二、数据库设置

mysql数据库聊天表设置与聊天记录查询_第2张图片

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

三、代码实现

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

一、未查询前的所有数据:
mysql数据库聊天表设置与聊天记录查询_第3张图片
二、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

三、查询后的数据:
mysql数据库聊天表设置与聊天记录查询_第4张图片

你可能感兴趣的:(Mysql,数据库,mysql,database)