从两个不同的JSON列中进行选择,从而产生n ^ 2行而不是n

Mustafa Cem Kobal

我有一个像这样的JSON文档:

{"cases":[1983,2188, etc.],"deaths":[78,84, etc.]});

我正在尝试并排使用它们:

SELECT dd::numeric AS deaths, cc::numeric AS cases
FROM covid_json, json_array_elements_text(info->'deaths') dd, json_array_elements_text(info->'cases') cc

casesdeaths两者都具有51的长度,但上面的查询给出了2601(51 ^ 2)行像这样的:

在此处输入图片说明

如何防止这些值在每一行重复出现?

专线小巴

一种选择是去巢with ordinality这会为每个元素添加一个索引号,您可以将其用于join

select d.deaths, c.cases
from covid_json cj
cross join lateral json_array_elements(cj.info -> 'cases') with ordinality as d(deaths, rn)
inner join lateral json_array_elements(cj.info -> 'deaths') with ordinality as c(cases, rn) 
    on c.rn = d.rn

如您的问题所述,这假定两个数组具有相同数量的元素。

DB Fiddle上的演示

样本数据:

| 信息| 
| :------------------------------------------------- -| 
| {“案件”:[1983,2188,2615],“死亡”:[78,84,87]} |

结果:

死亡 情况
:----- | :---- 
1983年| 78    
2188 | 84    
2615 | 87   

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从2个不同的表中进行选择并按一列对其进行排序?

来自分类Dev

根据来自2个不同列的两个条件进行过滤时发生AVERAGEIFS错误

来自分类Dev

2个表格查询-从每个表格中进行选择并从两者中进行报告

来自分类Dev

选择在同一列中具有两个不同值的行

来自分类Dev

在pandas DataFrame中选择与一列的前两个不同项匹配的行

来自分类Dev

创建两个不同的数据框,一个通过选择每第n行,另一个通过使用Python中的剩余数据来进行?

来自分类Dev

用两个不同的瓷砖填充2 * n的房间

来自分类Dev

PostgreSQL:基于布尔列在两个相似的行之间进行选择

来自分类Dev

避免从休眠中进行N + 1个选择

来自分类Dev

选择某列的前n个值不同的行

来自分类Dev

使用两个日期比较而不是日期范围查询会在MongoDB中产生不同的结果

来自分类Dev

mysqli在一个表中选择不同的2列,并从两个表中选择不同的一列

来自分类Dev

连接两个表并在两个不同的行中产生具有相同值的表

来自分类Dev

MYSQL和PHP从2个不同的表中进行选择+对其进行数组

来自分类Dev

KDB:选择与两个更新的列相对应的行

来自分类Dev

如何从两个表中按列选择行

来自分类Dev

使用mysql在两个不同的行中交换“两个”列值

来自分类Dev

如何根据与两个不同列相关的两个条件打印所有行?

来自分类Dev

在2个不同的列中进行均值滚动并在Python中创建一个列

来自分类Dev

从2个表中选择两个匹配的行

来自分类Dev

SQL从具有不同列名的两个不同表中选择行

来自分类Dev

从两个不同的选择语句中获得两行

来自分类Dev

MySQL每隔2次从其他2个列中进行选择来更新列

来自分类Dev

将具有不同数据的两行分成两个不同的列

来自分类Dev

根据时间列中两个值之间的差异,将数据框中的每一行重复N次不同的次数

来自分类Dev

从具有相同成员的两个不同对象中进行条件选择

来自分类Dev

从两个具有相同WHERE子句的不同表中进行选择?

来自分类Dev

这个算法的大哦是n ^ 3而不是n ^ 2

来自分类Dev

大 O 符号示例表明 N^2 不是 O(n)

Related 相关文章

  1. 1

    如何从2个不同的表中进行选择并按一列对其进行排序?

  2. 2

    根据来自2个不同列的两个条件进行过滤时发生AVERAGEIFS错误

  3. 3

    2个表格查询-从每个表格中进行选择并从两者中进行报告

  4. 4

    选择在同一列中具有两个不同值的行

  5. 5

    在pandas DataFrame中选择与一列的前两个不同项匹配的行

  6. 6

    创建两个不同的数据框,一个通过选择每第n行,另一个通过使用Python中的剩余数据来进行?

  7. 7

    用两个不同的瓷砖填充2 * n的房间

  8. 8

    PostgreSQL:基于布尔列在两个相似的行之间进行选择

  9. 9

    避免从休眠中进行N + 1个选择

  10. 10

    选择某列的前n个值不同的行

  11. 11

    使用两个日期比较而不是日期范围查询会在MongoDB中产生不同的结果

  12. 12

    mysqli在一个表中选择不同的2列,并从两个表中选择不同的一列

  13. 13

    连接两个表并在两个不同的行中产生具有相同值的表

  14. 14

    MYSQL和PHP从2个不同的表中进行选择+对其进行数组

  15. 15

    KDB:选择与两个更新的列相对应的行

  16. 16

    如何从两个表中按列选择行

  17. 17

    使用mysql在两个不同的行中交换“两个”列值

  18. 18

    如何根据与两个不同列相关的两个条件打印所有行?

  19. 19

    在2个不同的列中进行均值滚动并在Python中创建一个列

  20. 20

    从2个表中选择两个匹配的行

  21. 21

    SQL从具有不同列名的两个不同表中选择行

  22. 22

    从两个不同的选择语句中获得两行

  23. 23

    MySQL每隔2次从其他2个列中进行选择来更新列

  24. 24

    将具有不同数据的两行分成两个不同的列

  25. 25

    根据时间列中两个值之间的差异,将数据框中的每一行重复N次不同的次数

  26. 26

    从具有相同成员的两个不同对象中进行条件选择

  27. 27

    从两个具有相同WHERE子句的不同表中进行选择?

  28. 28

    这个算法的大哦是n ^ 3而不是n ^ 2

  29. 29

    大 O 符号示例表明 N^2 不是 O(n)

热门标签

归档