【发布时间】:2016-03-04 11:59:09
【问题描述】:
我在选择时需要帮助。如何获取具有唯一属性的行,例如我在 db 中有 2 个 json 字符串。
{"name":["name1"]};{"name":["name2", "name1"]};{"name":["name3", "name4"]};{"name":["name3"]};
如果我只尝试SELECT DISTINCT data->"$.name",那么我会得到所有 2 个字符串,但我需要检查每个参数,如果之前有一些参数,则不要显示它。
有可能吗?
我只想得到 1 和 3 行,因为 2 和 4 包含我们已经拥有的名称(我不关心 name2 在我的情况下 name2 等效 name1)。
【问题讨论】:
-
不确定我是否在关注。对于这个样本数据,您希望得到什么结果?
-
只是第一个字符串,现在我得到所有 2,但如果每个字符串都是 {"name":["name1"]}; {"name":["name1"};它只返回 1 个字符串。我需要检查 $.name 中的每个参数都是唯一的
-
不清楚您所说的“参数”是什么意思。整个名称列是参数,还是 JSON 数组中的每个字符串都是参数?换句话说,输出应该是 ["name1"], ["name2,"name1"] 还是应该是 ["name1"],["name2"]?或者您可能希望输出是字符串,而不是 JSON ? 我建议您编辑您的问题以显示您想要的实际输出。
-
所以,我只想获取 json 字符串,如果第一个有 name1 - 我们接受它,但如果第二个字符串也有 name1 -> 从列表中排除它。