当前位置: 首页 > news >正文

MySQL8查询某个JSON类型的字段中出现过的所有键名(json key name)并去重返回

假设我有一张表叫 t1, 其中有一个字段 info 是 JSON类型,现在我想查询 t1.info 字段中出现过的所有键名,MySQL提供了一个函数 JSON_KEYS(column) 来返回单条数据单个JSON字段中的所有键名组成的集合,那我想查询整个表所有记录中某个JSON字段出现的键名组成的集合并做去重之后的结果,该如何查询呢,某大模型给出的答案我尝试下来会报错,原因可能是MySQL版本问题,我没去深究:
在这里插入图片描述
在这里插入图片描述

这里提供另一种我尝试可行的方式供参考:

SELECT DISTINCT(b.info_key) FROM t1 JOIN 
JSON_TABLE(JSON_KEYS(info), '$[*]' COLUMNS (info_key VARCHAR(255) PATH '$')
) b;

在这里插入图片描述

先利用JSON_KEYS()返回单条记录中某个JSON字段的所有键名组成的数组,再利用 JSON_TABLE 函数把键名数组中的每一个元素展开当作一张临时表的一条记录,这样就可以方便的使用 DISTINCT 进行去重了。

http://www.xdnf.cn/news/305659.html

相关文章:

  • CKESC ROCK 280A-M 电调专业测评:工业级性能与智能保护的深度平衡
  • 如何从服务器日志中分析是否被黑客攻击?
  • 多线程系列五:面试中常考的单例模式
  • 猿人学web端爬虫攻防大赛赛题第7题——动态字体,随风漂移
  • SecureCrt设置显示区域横列数
  • Vue Element UI 表单弹窗重置问题解决方案 —— 每次打开都初始化,告别残留提示!
  • DeepSeek智能时空数据分析(七):4326和3857两种坐标系有什么区别?各自用途是什么?
  • Linux——https基础理论
  • 产品经理如何借助 DeepSeek 提升工作效能
  • 导向滤波和AV1中的自导滤波
  • 找客户的软件哪个靠谱 靠谱获客软件推荐
  • 构建 Web 浏览 AI Agent:Pydantic + MCP 实现指南
  • 《面向对象程序设计-C++》实验五 虚函数的使用及抽象类
  • 网站防护如何无惧 DDoS 攻击?
  • 开启docker中mysql的binlog日志
  • 深入理解 mapper-locations
  • 2025母亲节海外网红营销趋势:跨境电商如何抓住节日红利期?
  • 38.前端代码拆分
  • ShardingSphere:使用information_schema查询时报错:Table ‘数据库名称.tables‘ doesn‘t exist
  • C++入门基础(上)
  • 排序算法——堆排序
  • 机器学习 vs 深度学习:关键区别与实际应用
  • chrome inspect 调试遇到的问题
  • 微信小程序BLE蓝牙模块断开后无法再次搜索到原来的蓝牙
  • 【前缀和】矩阵区域和
  • 软考-高级系统架构设计师
  • 【redis】redis 手动切换主从
  • 计算机网络复习资料
  • PyCharm 加载不了 conda 虚拟环境,不存在的
  • 【BUG】‘DetDataSample‘ object has no attribute ‘_gt_sem_seg‘