You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按JSON数组列的首个元素执行GROUP BY分组?

按JSON数组首个元素分组的实现方案

不同数据库提取JSON数组首个元素的语法略有差异,以下是主流数据库的具体实现:

PostgreSQL

直接使用->>操作符提取数组第一个元素并转为文本,再进行分组:

SELECT (path->>0) AS first_element, COUNT(*)
FROM your_table
GROUP BY (path->>0);

如果你的path列是jsonb类型,写法完全一致,不需要额外转换。

MySQL

用->>简写语法提取无引号的首个元素值,分组逻辑和查询字段保持一致:

SELECT path->>'$[0]' AS first_element, COUNT(*)
FROM your_table
GROUP BY path->>'$[0]';

也可以用完整函数写法:JSON_UNQUOTE(JSON_EXTRACT(path, '$[0]')),效果和上述简写完全相同。

SQL Server

通过JSON_VALUE函数提取指定位置的数组元素,再执行分组:

SELECT JSON_VALUE(path, '$[0]') AS first_element, COUNT(*)
FROM your_table
GROUP BY JSON_VALUE(path, '$[0]');

内容的提问来源于stack exchange,提问作者Giacomo M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 09:39:50