前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL Union 语句获取 好友消息列表,最新聊天记录的获取展示

SQL Union 语句获取 好友消息列表,最新聊天记录的获取展示

作者头像
泥豆芽儿 MT
发布2021-09-06 09:58:13
1.4K0
发布2021-09-06 09:58:13
举报
文章被收录于专栏:木头编程 - moTzxx
  • 背景 最近在自己的后台项目中 为了方便展示好友消息列表数据 发现,对于最新聊天记录的获取还挺麻烦的 用到了至少我这几乎没用过的 UNION 语句,在此整理一番 …
  • 首先,鄙人的对话记录表设计字段如下: 各字段意义一目了然,可作为参考
  • 整理得到的 SQL语句,使用时可替换其中的 当前用户ID 即可 为了便于阅读,缩进如下:
代码语言:javascript
复制
SELECT count(is_read = 0 or null) AS count_no_read,friend_id,uni_table.content,log_time,type,user_name,picture 
	FROM ( 
			SELECT to_id as friend_id,content,1 as is_read,log_time,type 
				FROM tp5_xchat_logs WHERE (from_id = 1) AND (to_id <> 1) 
			UNION 
			SELECT from_id as friend_id,content,is_read,log_time,type 
				FROM tp5_xchat_logs WHERE (from_id <> 1) AND (to_id = 1) 
			ORDER BY log_time desc 
		 )AS uni_table 
INNER JOIN tp5_xadmins a on friend_id = a.id GROUP BY friend_id ORDER BY log_time DESC;
  • sql 执行结果如下:
  • 根据业务需求,消息列表的效果如下所示:
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档