sql - 一个简单的 SQL Select 查询来抓取社交图中所有关联的人?

标签 sql select join graph

爬取社交图的最短或最快的 SQL 选择查询或 SQL 过程是什么。假设我们有这张表:

UId FriendId
1   2
2   1
2   4
1   3
5   7
7   5
7   8
5   9
9   7

我们这里有两个子集,我说的是一个 sql 查询或过程,如果我们通过:

uid = 4 返回结果集行 uid : {1, 2, 3}

或者如果

uid = 9 返回结果集行 uid : {5, 7, 8}

抱歉我的英语不好。

最佳答案

所以你想得到某人的所有 friend ,包括 n 级 friend ?我认为没有递归是不可能的。

这里解释了如何做到这一点: https://inviqa.com/blog/graphs-database-sql-meets-social-network

关于sql - 一个简单的 SQL Select 查询来抓取社交图中所有关联的人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160117/

相关文章:

sql - Row_Number over (partition by...) 所有列

mysql - 在 codeigniter 选择查询中用常量替换列值

mysql - 如果在 UNION ALL 查询中找不到任何行,则返回默认值

sqlite - SQLite 有连接数限制吗?

ruby-on-rails - Rails :include vs.:加入

java - Hibernate getCurrentSession() 我真的需要一个只读类型查询的事务吗?

SQL - 显示两个日期之间的所有日期

c# - 我应该在使用多线程 SqlBulkCopy 插入数据时使用表锁吗

php - MySQL ORDER BY rand(),名称为 ASC

MySQL `WHERE ` 给出匹配 0 的意外结果