mysql解析逻辑

cgh8pdjw  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(307)

我有以下引用的解析查询
link1-设置并选择query combine在单个mysql查询中运行,以将结果传递给pentaho link2
输入将在下面的col1中显示,在@input中,在上面的参考链接中,我只考虑1条记录,并为每个单元格应用解析逻辑,但问题是多行(n行)并将结果与解析逻辑相结合。

Col1  
--------------
22:4,33:4
33:6,89:7,69:2,63:2
78:6
blank record
22:6,63:1

我想为我请求的引用链接创建一个查询。

Expected Output 

 xyz   count
 ------------
 22    10
 33    10
 89    7
 69    2
 63    3
 78    6

我尝试用这个条件传递值
where条件pass 1 by 1 col1 in(我的查询)
最大值(col1)
组\u concat
但我没有得到预期的输出,以适应这一切在一个单一的查询。

guykilcj

guykilcj1#

我终于找到了解决问题的办法。康卡特小组为此工作

@input= (select group_concat(Col1) from (select Col1 from table limit 10)s);

groupconcat将col1的所有行合并成逗号分隔的字符串

22:4,33:4,33:6,89:7,69:2,63:2,78:6,blank record,22:6,63:1

因为我们现在只有一个字符串,所以我们可以应用链接1中所示的相同逻辑,我们可以用replace命令替换空白记录并忽略它。
使用link1结果的逻辑后输出

xyz   count
 ------------
 22    4
 33    4
 33    6
 89    7
 69    2
 63    2
 78    6
 22    6
 63    1

只需使用分组方式

select xyz,sum(count) from (select link1 output)s group by xyz;

会给你最后的结果

xyz   count
 ------------
 22    10
 33    10
 89    7
 69    2
 63    3
 78    6

相关问题