问题标签 [json-arrayagg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 基于javascript中的键值将3个不同的json数组对象合并为一个json数组
我正在尝试根据 JavaScript 中的基本 json 对象中的键值将 3 个不同的 json 数组对象合并为一个对象。我以前没有尝试过这样的事情。数据看起来像这样。
我的结果必须基于基本 json 及其键值。它基本上就像带有 baseobj 数组的 obj1 和 obj2 的左侧。我需要根据它们的键获取 baseObj 的所有对象以及 obj1 和 obj2 的匹配值。
结果必须是:
任何人都可以帮助我如何实现上述结果。提前致谢。
mysql - 使用 JSON_OBJECT 时如何在 JSON_ARRAYAGG 中返回 DISTINCT 值
如何将 DISTINCT 与 JSON_ARRAYAGG 一起使用?
让我们以下面的查询为例。
现在,如何在此查询中将 DISTINCT 与 JSON_ARRAYAGG 一起使用,以便 JSON 对象不同?如果我们可以基于uuid之类的任何键应用 DISTINCT 会更好。
谷歌搜索半小时后,我找到了以下选项,但无法在上述查询中应用这些选项。
JSON_ARRAYAGG DISTINCT 返回一个 JSON 数组,该数组由所选行中 string-expr 的所有不同(唯一)值组成: JSON_ARRAYAGG(DISTINCT col1)。JSON 数组中不包含 NULL 字符串表达式。JSON_ARRAYAGG(DISTINCT BY(col2) col1)返回一个 JSON 数组,该数组仅包含 col2 值不同(唯一)的记录中的 col1 字段值。但是请注意,不同的 col2 值可能包含单个 NULL 作为不同的值。
mysql - SQL json_arrayarg 与 json_object 产生重复值
此 SQL 查询反复给我相同的值:
我得到的价值是:
我在工作表中为 resume_id = 1 添加了两行数据,但在奖励表中为 resume_id = 1 添加了 1 行数据
mysql - SQL json_object 产生重复值
这是我需要实现的:
这就是我得到的
我的查询:
我为 resume_id = 1 添加了两行工作,但为 resume_id = 1 添加了 1 行奖励。但我仍然获得与 resume_id = 1 的作品数量一样多的奖励
json - T-SQL 在 SQL Server 中解析没有属性名称的 JSON 数组
环境
- SQL 服务器 2016
- 视窗 2016
我目前正在从 API 获取信息。当我调用这个 API 时,我得到以下 JSON 文本:
{"request":{"command":"series","series_id":"342"},"series":[{"series_id":"342","data":[["2023",125.39355], ["2022",122.85654167],["2021",118.36935],["2020",113.74025],["2019",112.27875],["2018",110.3265],["2017",107.742],[" 2016",105.70325],["2015",104.6615],["2014",103.6625],["2013",101.76875],["2012",100.00025],["2011",98.15725],["2010" ,96.16425],["2009",95.019],["2008",94.39725],["2007",92.65325],["2006",90.2115],["2005",87.49],["2004",84.84175 ],["2003",82.63525],["2002",81.01275],["2001",79.8145],["2000",78.01625],["1999",76.27275],["1998",75.2195],["1997",74.39925],["1996",73.13225],["1995",71.819],["1994",70.342],["1993" ,68.87425],["1992",67.27775],["1991",65.77725],["1990",63.63575]]}]}'
问题
我试图将数据数组解析为两列,“年”和“值”。我不关心其他任何事情。我不确定如何解析这个 Json 字符串。我最近的尝试是
我尝试了许多不同的路线(例如 $.data、$.series.data 等),但均无济于事。目前,如果我可以将数据数组重新放入单列(例如 2023、123.39.355;2022、122.85 等),我可以轻松地从那里解析成两列(因此注释掉了 Replace 函数),但所有我返回为空。
有任何想法吗?
mysql - 如何在不干扰 FROM 子查询中的 JSON_ARRAYAGG 和 LIMIT 的情况下返回颜色总数
产品有两种颜色(黑色和白色)
我想使用 LIMIT 来不带上所有颜色......颜色的数量将是总数
例子:
LIMIT 1 将返回:
- 颜色名称:“[{“颜色”:“黑色”}]”
- 数量颜色:int(2)
LIMIT 2 将返回:
- 颜色名称:[{“颜色”:“黑色”},{“颜色”:“白色”}]
- 数量颜色:int(2)
我必须在 JSON 中返回名称
但是我看到没有办法在 JSON_ARRAYAGG 中使用 LIMIT
解决方案是在 FROM中使用子查询
它起作用了......我不得不添加 GROUP BY v.id
- LIMIT 1 只返回一种颜色(OK)
- LIMIT 2 返回两种颜色(OK)
但是颜色的数量( amountColors )总是 1 在上面两种情况下应该是 2
MySQL版本:8.0+