我有
A B
a, d
a, e
a, y
z, v
z, k
z, o
等等。
B列的类型为cararray,包含由&。
例如 - d =' abc = 1& c = 1& p =成功'
我想弄清楚 -
假设 -
d =' abc = 1& c = 1& xyz = 23423423'
e =' xyz = 1& it = ssd'
y =' abc = 1& c = 1& p =成功'
对于每一个' a'我想弄清楚它是否有b列包含相同的abc值并且c = 1且p =成功。我还想从d和y中提取abc和c的值。
例如,让我们看一下上面的例子 -
d包含abc = 1和c = 1
y包含abc = 1和p =成功
所以这满足了我正在寻找的东西,即给定的' a'我有相同的abc值,c = 1,p =成功。
我开始分组我的数据:
grouped = group data BY (A, B);
给了我
a, (a,b)(a,e)(a,y)
z, (z,v)(z,k)(z,o)
但在此之后,我对如何比较每组中的数据以使上述条件得到满足一无所知。
对此有任何帮助表示赞赏。
如果您希望我进一步澄清我的问题,请告诉我。
答案 0 :(得分:0)
由于您只关心查询字符串中的某些字段(我假设它是什么),您将需要使用FOREACH和STRSPLIT拆分数据。将它展平,这样你就可以看到这样的东西 (a,b)其中b是来自查询ex的单个键/值:abc = 1 过滤掉您不关心的键/值对,将它们重新连接在一起,然后按组合的键/值对进行分组。这将为您提供每个具有相同b的列表,其中b仅包含abc = X,c = 1且p =成功