-
求一sql:新浪微博中的‘关注’查询10
用过新浪微博的用户都知道‘关注’功能,实际上就是订阅
在登录用户A查询‘我的关注’时,可以知道对方是否也关注了A用户,这个sql怎么来写?
下面是模仿‘我的关注’列表,曾子墨 取消关注 张学友 互相关注/取消关注 谭咏麟 互相关注/取消关注
我的表结构是这样的Microblog_user(id, username) microblog_sub(pub_id, sub_id) //这两个字段都是Microblog_user.id的外键
怎样写sql查询出‘我的关注列表’?
另外直觉告诉我们表结构可能有问题,调整表结构可能更好
问题补充:Ihavegotyou 写道1)在microblog_sub加一字段interactive, bit型,默认值为0,用触发器更新,不影响原来结构。
2)select a.username, (case b.interactive when 1 then 'true' else 'false' end) as interactive from microblog_user a join microblog_sub b on a.id = b.pub_id;
--这样减少了1次表的检索
用触发器更新? 如何来更新? 还请明示2010年1月21日 15:01
5个答案 按时间排序 按投票排序
-
采纳的答案
我理解为pub_id 是user,sub_id为订阅者,如理解错了 lz可以把下面的两个互换名称就可以了
select Microblog_user.username, a.sub_id, b._subid from Microblog_user left join microblog_sub a on Microblog_user.id = a.pub_id left join microblog_sub b on b.pub_id = a.sub_id and b.sub_id = Microblog_user.id
前两列肯定有值
第三列 如果有值证明是“互相关注” 没有值则表明user未被当前关注者关注
2010年1月21日 15:31
-
我原本想 create trigger trigger_insert_microblog_sub after insert on microblog_sub for each row begin update microblog_sub set interactive = 1 where (pub_id in (new.pub_id,new.sub_id) and sub_id in(new.sub_id,new.pub_id) or (
pub_id in(new.sub_id,new.pub_id) and sub_id in(new.pub_id,new.sub_id)));
但是,实际上这是不成功的。 (insert into microblog_sub values (4,3,0);
ERROR 1442 (HY000): Can't update table 'microblog_sub' in stored function/trigger because it is already used by
statement which invoked this stored function/trigger.)
不能依赖触发器来更新了(即使用set new.interactive =1 也最多只能更新一条数据。)
建议在insert,delete时候,自己再追加1条update语句好了。
2010年1月22日 13:06
-
上面的最后一个注释去掉..
SELECT MUS.ID,MUS.USERNAME FORM ( SELECT MS.sub_id as sub_id FROM Microblog_user MU JOIN microblog_sub MS ON MU.ID=MS.PUB_ID WHERE MU.ID='登录用户.ID' ) MS2 JOIN Microblog_user MUS ON MUS.ID=MS2.sub_id
如果你保证microblog_sub表中的sub_id肯定会在Microblog_user这张表有记录的话.
也可以用SELECT B.ID,B.USERNAME FROM microblog_sub A JOIN Microblog_user B ON A.sub_id=B.ID WHERE A.pub_id='登录用户.ID'
2010年1月21日 23:15
-
SELECT MUS.ID,MUS.USERNAME FORM ( SELECT MS.sub_id as sub_id FROM Microblog_user MU JOIN microblog_sub MS ON MU.ID=MS.PUB_ID WHERE MU.ID='登录用户.ID' ) MS2 JOIN Microblog_user MUS ON MUS.ID=MS2.sub_id -- 此句增加提高效能 走index WHERE MUS.ID='登录用户.ID'
2010年1月21日 17:57
-
1)在microblog_sub加一字段interactive, bit型,默认值为0,用触发器更新,不影响原来结构。
2)select a.username, (case b.interactive when 1 then 'true' else 'false' end) as interactive from microblog_user a join microblog_sub b on a.id = b.pub_id;
--这样减少了1次表的检索2010年1月21日 16:39
相关推荐
综上所述,"84168条新浪微博数据集"是一个全面反映2014年5月期间中国社交媒体动态的宝贵资源,它提供了丰富的用户行为、话题趋势和情感分析的数据,对于理解社交媒体平台上的信息传播、用户行为和公众情绪有着极大的...
该压缩包文件包含的是一个仿新浪微博的网站源代码,它是一个基于Web开发的项目,用于构建类似新浪微博的社交网络平台。下面将详细解释这个项目可能涉及的一些关键知识点和技术。 1. **网站架构**:仿新浪微博的网站...
在新浪微博API开发中,开发者可以通过API获取和发布微博、获取用户信息、管理关注关系等。这些接口通常由新浪官方提供,遵循特定的请求和响应格式,如HTTP协议和JSON数据格式。 2. **App Key和App Secret**:在使用...
【标题】:“新浪微博程序(C#)”是一个基于.NET框架实现的模拟新浪微博功能的应用程序。这个项目旨在通过C#编程语言来复现微博的核心功能,为开发者提供一个学习和实践社交网络开发的平台。 【描述】:这个程序的...
5. **实时推送**:类似于新浪微博,用户需要接收到关注人的最新动态,这就需要用到实时推送技术,如WebSocket协议,使得信息能即时推送到用户的终端。 6. **搜索功能**:提供高效的关键词搜索功能,让用户快速找到...
每条记录由suid和tuid两个字段组成,表示suid关注tuid,由于新浪微博的限制,每个用户最多只能获取到200个关注人的信息,故好友关系不是很全; 27759条微博转发关系 每条记录由smid和tmid两个字段组成,表示smid微博...
每条记录由suid和tuid两个字段组成,表示suid关注tuid,由于新浪微博的限制,每个用户最多只能获取到200个关注人的信息,故好友关系不是很全; 27759条微博转发关系 每条记录由smid和tmid两个字段组成,表示smid微博...
【小强新浪微博】是一款模拟实现新浪微博功能的小程序,旨在为用户提供一个类似微博的社交平台,同时也为学习者提供了一个了解和研究社交媒体应用开发的实例。这个项目覆盖了多个IT技术领域,包括前端开发、后端服务...
数据集为:新浪微博数据集sql文件 数据集标记了话题 文件太大了有138M,就压缩为了zip格式,解压之后就是sql文件 数据概述:本数据集为63641个用户的新浪微博数据集,包括以下内容: 63641个新浪微博用户信息 ...
【J2EE高仿新浪微博完整项目】是一个基于Java企业版(Java 2 Platform, Enterprise Edition,简称J2EE)技术的开发案例,旨在提供一个类似于新浪微博的社交网络平台的实现。这个项目涵盖了JSP(JavaServer Pages)、...
在这个数仓项目中,我们主要关注的是如何利用大数据分析技术对模拟的新浪微博数据进行处理和挖掘。这个项目涉及的关键知识点主要包括大数据技术、数据仓库、数据采集以及数据分析。 首先,我们需要理解“数据仓库”...
在新浪微博开放平台上,提供了各种API接口,允许开发者获取用户数据,如个人资料、发布状态、关注列表等。这些接口遵循HTTP协议,通常以RESTful风格设计,通过发送HTTP请求并接收JSON格式的响应数据。 在Java环境中...
在深入讨论这个主题之前,首先需要理解“新浪微博App”是一个基于中国的社交媒体平台,用户可以通过它发布文字、图片、视频等内容,与他人互动,分享观点和信息。而“webpy”是一个轻量级的Python Web框架,用于构建...
【标题】:“自己搭建的新浪微博服务器以及客户端” 【描述】中的知识点主要涉及到以下几个方面: 1. **JSP(JavaServer Pages)**:JSP是一种动态网页技术,它允许开发人员在HTML页面中嵌入Java代码,以实现动态...
微博热门新闻爬取爬取的内容主要是新浪的热门话题页()爬取第一页的内容 拿到新闻标题和类别 并读取页面 爬取阅读数 讨论数和关注数crawler为爬虫小程序 使用java编写在运行前 需要编辑 crawler/conf/application....
本项目“aspnet 仿新浪微博系统”则是一个使用ASP.NET技术实现的微型博客平台,其核心目标是模仿并实现类似于新浪微博的功能。 1. **系统架构** 这个微博系统很可能采用了典型的三层架构设计,包括表现层(UI)、...
在这个工程案例中,我们将探讨如何使用SSH技术来构建一个类似新浪微博的平台。SSH不仅确保了数据传输的安全性,还提供了命令行接口,使得开发者可以远程管理服务器,执行脚本,以及进行各种自动化任务。 在构建这样...
由于只给出了“新浪微博”这一项,无法确定具体包含哪些文件。通常,这样的压缩包可能包含题目PDF、答案解析、样例代码或者相关参考资料。这些文件将提供更具体的题目细节,帮助我们深入了解笔试的具体内容和难度。 ...
【描述】:本报告详细介绍了移动互联网开发课程设计项目,即在安卓平台上开发一款简易的新浪微博客户端。通过这个项目,学生将提升安卓程序开发技能,学习认证协议原理,并掌握如何使用新浪提供的API接口。 **知识...