作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个点赞表(uid1 点赞 uid2)并给定了一个特定的用户 ID (uid
) 我需要找到所有喜欢他的人,或者任何喜欢他的人,等等等等。
with recursive Hierarchy(uid, Level)
as
(
select
uid1 as uid, 1 as Level
from
Likes l
where
l.uid2 = 1 --parameter will go here
union all
select
l.uid1, lh.Level + 1
from
Likes l
inner join Hierarchy lh
on l.uid2 = lh.uid
where l.uid1 not in (select uid from Hierarchy) --this is wrong syntax in postgresql
)
select * from Hierarchy
例如在表 Likes 中给出以下值时会出现问题
2,1 (2 likes 1)
3,1 (3 likes 1)
4,1 (4 likes 1, 1 is popular)
3,4 (3 likes 4)
4,3 (4 likes 3)
点赞层次结构中有一个圆圈,我只想添加不是上一次迭代的项目(因此 NOT IN)。
那么是否可以插入一个限制,仅用于添加新的 uid?
最佳答案
基于这个模板:
WITH RECURSIVE search_graph(id, link, data, depth, path, cycle) AS (
SELECT g.id, g.link, g.data, 1,
ARRAY[g.id],
false
FROM graph g
UNION ALL
SELECT g.id, g.link, g.data, sg.depth + 1,
path || g.id,
g.id = ANY(path)
FROM graph g, search_graph sg
WHERE g.id = sg.link AND NOT cycle
)
SELECT * FROM search_graph;
(http://www.postgresql.org/docs/8.4/static/queries-with.html)
你得到:
with recursive Hierarchy(uid, Level, path, cycle)
as
(
select
uid1 as uid, 1 as Level, ARRAY[l.uid], false
from
Likes l
where
l.uid2 = 1 --parameter will go here
union all
select
l.uid1, lh.Level + 1,
path || l.uid,
l.uid = ANY( path )
from
Likes l
inner join Hierarchy lh
on l.uid2 = lh.uid
)
select * from Hierarchy
关于sql - 递归 SQL 查找喜欢的层次结构(带潜在圆圈),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8388165/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!