我无法使用使用此语句的查询获取递归数据:
#generate data for df1
a1 <- rnorm(100, 3, 1.2)
b1 <- rnorm(100, 2, 0.5)
c1 <- rnorm(100, 4, 1.5)
d1 <- rnorm(100, 5, 0.2)
e1 <- rnorm(100, 6, 0.7)
df_1 <- data.frame(a1, b1, c1, d1, e1)
#generate data for df2
a2 <- rnorm(50, 3, 1.2)
b2 <- rnorm(50, 2, 0.5)
c2 <- rnorm(50, 4, 1.5)
d2 <- rnorm(50, 5, 0.2)
e2 <- rnorm(50, 6, 0.7)
df_2 <- data.frame(a2, b2, c2, d2, e2)
#rename columns
df_1 <- dplyr::rename(df_1,
a = a1,
b = b1,
c = c1,
d = d1,
e = e1)
df_2 <- dplyr::rename(df_2,
a = a2,
b = b2,
c = c2,
d = d2,
e = e2)
#create variable name vector to iterate through
vars <- c('a', 'b', 'c', 'd', 'e')
#loop to generate ggplots
for (var in vars){
plot_name <- ggplot(df_1, aes(var, color = "df 1")) +
geom_density() +
geom_density(var, color="df 2"), data = df_2)
ggsave(paste0(var, ".pdf"),
plot = plot_name,
width = 8, height = 5,
units = "in",
dpi = 300)
}
我试图获取与桌子相关的行:
WITH RECURSIVE
我需要获取这些数据:zone_05在哪里?
id | name |extern|
--------------------------|
1 | building_01 | null
--------------------------|
2 | floor_01 | 1
--------------------------|
3 | zone_04 | 2
--------------------------|
4 | zone_05 | 3
我试图用这句话解决它,但我只得到第一个相关的行:
4 | zone_05 | 3
---------------|
3 | zone_04 | 2
---------------|
2 | floor_01 | 1
---------------|
1 | building_01| null
---------------|
结果:
select id,
name,
extern
from (select * from table) products_sorted,
(select @pv := '4') initialisation
where find_in_set(id, @pv) > 0
and @pv := concat(@pv, ',', extern)
此解决方案对我不起作用:
How to create a MySQL hierarchical recursive query
@trincot是否有可能改变这种状态以便在&#34;反向&#34;?所以抓住所有的父母,祖父母等等?我已经使用你的第一个查询来获得后代,但我想得到祖先?同样。 - shreddish Jul 19&17; 17 at 14:54
如果其他人正在寻找@shreddish问题的答案,解决办法是将p.parent_id = cte.id更改为p.id = cte.parent_id - 在12月10日和17日5:38
解决方案与:
有关备选方案1:WITH RECURSIVE,CONNECT BY
我无法使用它,因为mysql数据库服务器版本。
答案 0 :(得分:0)
这是您需要的查询;
select id,
name,
extern_id
from (select * from places
order by id desc, extern_id desc) places_sorted,
(select @pv := '26') initialisation
where find_in_set(id, @pv) > 0
and @pv := concat(@pv, ',', extern_id)
这是小提琴: http://sqlfiddle.com/#!9/ba5700/2
正如您所看到的,“顺序”非常重要,正如您提到的答案中的trincot所解释的那样