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

三、查詢後的數據:
在這裏插入圖片描述

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