当前位置: 首页 > news >正文

高端网站公司长沙中建设计院网站

高端网站公司,长沙中建设计院网站,网站 备案地,0基础怎么学服装设计目录 问题:SQL解答: 问题: 现在有一张relation表,里面只有两个字段:from_user和to_user,代表关注关系从from指向to,即from_user关注了to_user。现在要找出互相关注的所有人。 from_user to_…

目录

  • 问题:
  • SQL解答:

问题:

现在有一张relation表,里面只有两个字段:from_user和to_user,代表关注关系从from指向to,即from_user关注了to_user。现在要找出互相关注的所有人。


from_user    to_user
孙悟空          唐僧
唐僧            如来佛祖
唐僧            观音菩萨
观音菩萨         如来佛祖
唐僧            孙悟空
孙悟空          玉皇大帝
玉皇大帝        如来佛祖
如来佛祖         观音菩萨
如来佛祖         玉皇大帝
如来佛祖         唐僧
孙悟空          猪八戒
猪八戒            嫦娥
猪八戒           孙悟空
猪八戒           唐僧
猪八戒          沙僧
沙僧            猪八戒
沙僧            玉皇大帝
沙僧            孙悟空
沙僧            唐僧

SQL解答:

解答思路一:使用自关联即可,这种方式简单也最易理解。适合数据量不是很大的情况,因为会导致数据膨胀。


with tmp as
(
select '孙悟空' as from_user ,     '唐僧'   as to_user
union all
select '唐僧' as from_user ,     '如来佛祖'   as to_user
union all
select '唐僧' as from_user ,     '观音菩萨'   as to_user
union all
select '观音菩萨' as from_user ,     '如来佛祖'   as to_user
union all
select '唐僧' as from_user ,     '孙悟空'   as to_user
union all
select '孙悟空' as from_user ,     '玉皇大帝'   as to_user
union all
select '玉皇大帝' as from_user ,     '如来佛祖'   as to_user
union all
select '如来佛祖' as from_user ,     '观音菩萨'   as to_user
union all
select '如来佛祖' as from_user ,     '玉皇大帝'   as to_user
union all
select '如来佛祖' as from_user ,     '唐僧'   as to_user
union all
select '孙悟空' as from_user ,     '猪八戒'   as to_user
union all
select '猪八戒' as from_user ,     '嫦娥'   as to_user
union all
select '猪八戒' as from_user ,     '孙悟空'   as to_user
union all
select '猪八戒' as from_user ,     '唐僧'   as to_user
union all
select '猪八戒' as from_user ,     '沙僧'   as to_user
union all
select '沙僧' as from_user ,     '猪八戒'   as to_user
union all
select '沙僧' as from_user ,     '玉皇大帝'   as to_user
union all
select '沙僧' as from_user ,     '孙悟空'   as to_user
union all
select '沙僧' as from_user ,     '唐僧'   as to_user
)
select
a.from_user,
a.to_user,
if(b.from_user is not null, 1, 0) as is_friend -- 1:互相关注 
from tmp a
left join tmp b
on a.from_user=b.to_user and a.to_user=b.from_user
;

解答思路二:找到互相关注的人的规律,当他们是互相关注时,那么将from_user和to_user其中一个顺序调换位置后,from_user和to_user就一定会出现两条数据(源表提前已经去重),所有出现两条数据的人就是有互相关注的。这种方式不会导致数据膨胀。

with tmp as
(select '孙悟空' as from_user ,     '唐僧'   as to_user
union all
select '唐僧' as from_user ,     '如来佛祖'   as to_user
union all
select '唐僧' as from_user ,     '观音菩萨'   as to_user
union all
select '观音菩萨' as from_user ,     '如来佛祖'   as to_user
union all
select '唐僧' as from_user ,     '孙悟空'   as to_user
union all
select '孙悟空' as from_user ,     '玉皇大帝'   as to_user
union all
select '玉皇大帝' as from_user ,     '如来佛祖'   as to_user
union all
select '如来佛祖' as from_user ,     '观音菩萨'   as to_user
union all
select '如来佛祖' as from_user ,     '玉皇大帝'   as to_user
union all
select '如来佛祖' as from_user ,     '唐僧'   as to_user
union all
select '孙悟空' as from_user ,     '猪八戒'   as to_user
union all
select '猪八戒' as from_user ,     '嫦娥'   as to_user
union all
select '猪八戒' as from_user ,     '孙悟空'   as to_user
union all
select '猪八戒' as from_user ,     '唐僧'   as to_user
union all
select '猪八戒' as from_user ,     '沙僧'   as to_user
union all
select '沙僧' as from_user ,     '猪八戒'   as to_user
union all
select '沙僧' as from_user ,     '玉皇大帝'   as to_user
union all
select '沙僧' as from_user ,     '孙悟空'   as to_user
union all
select '沙僧' as from_user ,     '唐僧'   as to_user
)
select
from_user
,to_user
,count(1) over(partition by feature) as is_friend ---1:不是 2:是
from
(selectfrom_user,to_user--当有互相关注时,保证只将其中的一对用户调换from_user和to_user并拼接,if(from_user>to_user,concat(from_user,to_user),concat(to_user,from_user)) as featurefrom tmp
)t1
;
http://www.yayakq.cn/news/749919/

相关文章:

  • 网站服务器在哪可以看ppt做的好的有哪些网站有哪些
  • 做外贸一般要注册哪些外贸网站北京外语网站开发公司
  • 免费ppt模板网站哪个好用中国工程招标网采购招标网
  • 投票网站源码php阳江今天刚刚发生的重大新闻
  • 为什么很多公司做网站建设网站建设源代码 费用
  • 上海网站建设觉策做qq链接的网站
  • 上海外贸网站制作公司天水网站制作公司
  • 黑龙江能建公司官网seo网站推广技术
  • 网站建设业务员怎么做宁波网站建设设计公司信息
  • 一个成功的网站必须具备室内设计联盟电脑版
  • 适用于个人网站的域名自己制作一个简单的app
  • 网站建设与维护目录江西那家做网站公司好
  • 中山网站建设文化平台贞丰网站建设
  • 成都网站外包优化在wordpress上下载的模板咋用
  • 自己建的网站有乱码炫酷个人网站php源码
  • 同创企业网站建设win7支持wordpress
  • 建设网站的意义知乎培训网站图片
  • 什么后台做网站安全仿站建站教程
  • 网站建设预算知乎托管管理系统app
  • 网站建设 提成wordpress指定内容加密
  • 做一个家乡网站有什么可以做淘宝网页版电脑版入口淘宝网
  • 广州开发区建设局网站自己网站制作的详细教程
  • 怎样制作免费手机网站建德网站设计公司
  • 佛山 顺德营销型网站设计对网页设计的认识和理解
  • 浙江省职业建设学院官方网站建站工具 ip
  • 做网站视频上传到哪儿做自己的网站多少钱
  • 直播网站的建设企业网站建设网站模板
  • 山东天成水利建设有限公司网站制作一个app软件需要多少时间
  • 英文WordPress站点切换为中文wordpress 页面 js
  • 深圳建筑室内设计网站如何建设好英文网站