如何使用group-concat mysql创建json格式?

2024-03-24

如何使用group-concat mysql创建json格式?

(我使用MySQL)

示例1:

table1:

email            |    name  |   phone
-------------------------------------
[email protected] /cdn-cgi/l/email-protection    | Ben      | 6555333
[email protected] /cdn-cgi/l/email-protection    | Tom      | 2322452
[email protected] /cdn-cgi/l/email-protection    | Dan      | 8768768
[email protected] /cdn-cgi/l/email-protection    | Joi      | 3434356

就像没有给我格式的语法代码:

select email, group-concat(name,phone) as list from table1 
group by email

我需要的输出:

email         |    list
------------------------------------------------
[email protected] /cdn-cgi/l/email-protection |  {name:"Ben",phone:"6555333"},{name:"Joi",phone:"3434356"}
[email protected] /cdn-cgi/l/email-protection |  {name:"Tom",phone:"2322452"},{name:"Dan",phone:"8768768"}

使用较新版本的 MySQL,您可以使用 JSON_OBJECT 函数来实现所需的结果,如下所示:

GROUP_CONCAT(
  JSON_OBJECT(
    'name', name,
    'phone', phone
  )
) AS list

要准备好将 SQL 响应解析为数组:

CONCAT(
  '[',
  GROUP_CONCAT(
    JSON_OBJECT(
      'name', name,
      'phone', phone
    )
  ),
  ']'
) AS list

这会给你一个像这样的字符串:[{name: 'ABC', phone: '111'}, {name: 'DEF', phone: '222'}]可以用 JSON 解析。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用group-concat mysql创建json格式? 的相关文章

  • 从 MySQL 列创建 PHP 数组

    mysql fetch array会给我一个获取行的数组 从一列中所有行的值生成数组的最佳方法是什么 您可以循环遍历数组并创建一个新数组 如下所示 column array while row mysql fetch array info
  • PHP 从表行中检索数据并将其存储到变量

    我想这些问题已经说明了一切 我的查询结果会生成与条件匹配的行 我想从每个表列中获取每个数据并将其放入一个变量中 getinfo select user firstname user middlename user lastname from
  • ECHO MYSQL 结果显示空白页 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道这一定很简单 但我做不到 我需
  • 如何从 SQL Server 的表中获取列名?

    我想查询一个表的所有列的名称 我发现如何做到这一点 Oracle https stackoverflow com q 452464 419956 MySQL https stackoverflow com q 193780 419956 P
  • 如何:SQL 还是 NOSQL?

    我还没有遇到过这个问题 但这就是我的想法 非常肤浅和简单化恕我直言 如果您有键值类型的存储 并且所有访问都是键查找 请使用 NOSQL 解决方案 如果您想要基于值 和子值 进行查找或者有一些更复杂的东西 例如联接 您会选择关系解决方案 事务
  • 将日期格式(在数据库或输出中)更改为 dd/mm/yyyy - PHP MySQL

    MySQL 将日期存储在我的数据库中 默认情况下 为 YYYY MM DD 我的日期的字段类型是 DATE 我不需要任何时间存储 有没有一种简单的方法可以默认更改它到 DD MM YYYY 我在两个不同的表中调用不同的日期 并且在我的任何代
  • FIND_IN_SET 具有多个值[重复]

    这个问题在这里已经有答案了 我想从数据库字段搜索多个值 以下是我的查询 SELECT FROM tablename WHERE FIND IN SET 12 13 15 15 category id 我如何搜索它对我不起作用 FIND IN
  • 如何在 mysql 或 JDBC 的表中自动插入外键引用?

    我正在使用MySQL 我的问题是如何自动将新添加的行插入外键表中 一个例子可以澄清我的问题 我有两个表 员工 和 薪水 CREATE TABLE Employee emp id int NOT NULL AUTO INCREMENT nam
  • Oracle 12 对 SQL 中的本地集合类型有问题吗?

    长话短说 我建议讨论下面看到的代码 运行时 Oracle 11 编译器引发 PLS 00306 调用 PIPE TABLE 时参数提示的数量或类型错误 PLS 00642 SQL 语句中不允许使用本地集合类型 Oracle 12编译下面的包
  • 创建用于插入、修改和删除的数据库触发器的正确​​语法是什么

    我有一个看起来像是 SQL Server 中数据库触发器的基本场景 但我遇到了一个问题 我有桌子Users 身份证 姓名 电话等 我有桌子用户历史记录 id user id 操作 字段 时间戳 我想要一个数据库触发器 可以随时插入 更新或删
  • PDO 如何在执行 rollBack() 函数之前回滚查询?

    这是我的脚本 try dbh con gt beginTransaction stmt1 dbh conn gt prepare UPDATE activate account num SET num num 1 stmt1 gt exec
  • 触发器以捕获服务器中的架构更改

    是否可以实现类似以下触发器的东西 CREATE TRIGGER tr AU ddl All Server ON DATABASE WITH EXECUTE AS self FOR DDL DATABASE LEVEL EVENTS AS D
  • 在 SQL 查询中使用 fn_Split

    我一直在努力争取fn Split在我的查询中正常工作 我到处搜索 并在这里找到了似乎接近我需要的答案 但我仍然无法使其发挥作用 基本上我试图返回与数组中的条目匹配的记录 我已经有了一个与我的数据库一起使用的表值函数 如下所示 Select
  • 查询查找表中姓名和号码之间的重复项

    SELECT count lower name number FROM tbl GROUP BY lower name number HAVING count gt 1 输入表1 slno name number 1 aaa 111 2 A
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • Laravel 雄辩的 withCount() 应该比 with() 慢

    所以我问这个的原因是在我当前的应用程序中withCount 与仅通过以下方式获取关系的所有数据相比 响应时间几乎增加了三倍with 并只是从前端获取长度 javascript 我认为使用的要点withCount 是为了加快查询速度 但也许我
  • SQL Server 数据库中的表具有互斥外键的最佳实践

    在这里 我正在寻找针对以下问题的优缺点的最佳解决方案 Entity1 E1 pk 与其他不同的列 Entity2 E2 pk 与其他不同的列 Entity3 E3 pk 与其他不同的列 我需要创建之间的关系Entity1 and Entit
  • 从 oracle 中为每个组选择最新行

    我在留言簿中有一张包含用户评论的表格 列有 id user id 标题 评论 时间戳 我需要为每个用户选择最新行 我尝试使用 group by 执行此操作 但没有管理它 因为我无法在按 user id 分组的同一查询中选择任何其他内容 SE
  • Sql 查询抛出标识符太长。最大长度为 128

    我正在处理一个简单的更新查询 在执行查询时看到以下错误 我非常清楚 这根本不应该是一个长度问题 可能是什么问题 Error 以identifier开头的标识符太长 最大长度为 128 我的查询 update dbo DataSettings
  • SQL Server - 在设置 COLLATE Latin1_General_CS_AS 的情况下搜索不区分大小写

    家长提问 https stackoverflow com questions 50974562 sql server update to match and replace only exact words感谢 Iamdave 部分问题得到

随机推荐

  • Leaflet 删除 GeoJSON 层

    我通过在传单中创建 GeoJSON 图层来为地图上的区域着色 首先我创建一个空层 var layerPostalcodes L geoJSON addTo map 然后 我创建一个包含形状信息的 geojson 元素并将其添加到图层中 la
  • 是否可以在四开本中创建对标注块的自定义交叉引用?

    Task 我在用着quarto写一本在线书籍 需要模仿出版书籍的环境和柜台 后者采用五个自定义框架环境 示例 练习 评论 定理 定义 以及一个联合计数器 在章节内 我正在考虑使用现成的标注块 https quarto org docs au
  • Kotlin 泛型声明站点差异 构造

    我正在阅读有关 kotlin 没有通配符的原因 https kotlinlang org docs reference generics htm https kotlinlang org docs reference generics ht
  • agm-marker onMouseOver 打开 agm-info-window

    I using 角度谷歌地图 AGM https angular maps com 成分 我需要在标记鼠标悬停时打开信息窗口 我怎样才能找回infowindow我的函数中的实例onMouseOver打开它
  • jqGrid:用双击代替单击进入单元格编辑模式

    Using jqGrid 中的单元格编辑模式 http www trirand com jqgridwiki doku php id wiki cell editing 默认行为是只要单击某个单元格或选择该单元格并按下 Enter 键 就会
  • 多个小部件在 FormBuilder 中使用相同的 GlobalKey

    以下最低限度可重现的虚拟代码会引发此错误 Exception caught by widgets library Multiple widgets used the same GlobalKey Restarted application
  • Edge/IE Flex 和滚动条问题

    我在使用 Flexbox 时遇到了 Edge IE 的问题 内容可能会溢出 所以我使用overflow x auto Flex 方向为列 其中flex grow 1在内容项上 因此不需要overflow y 但滚动条位于内容上方 看来它在考
  • Flutter中使用POST请求上传文件

    我正在尝试使用发布请求将视频文件上传到我的服务器 var file new File videoPath var uri Uri parse tokenizedUri HttpClientRequest request await new
  • 改变变量指针

    给定 2 个变量 布尔值 整数 int64 TDateTime 或字符串 如何将 A 设置为始终指向 B 假设A和B是整数 我将B设置为10 从现在开始我希望 A 始终指向 B 所以如果我这样做A 5它会修改 B 我希望能够在运行时执行此操
  • Linq、VB - 匿名类型无法转换为匿名类型

    我是 Linq 菜鸟 也许有人可以指出我正确的方向 这是怎么回事 这些匿名类型似乎具有相同的签名 Get all of the new list items Dim dsNewFiles From l1 In list1 Where Not
  • fusedLocationProviderClient.lastLocation.addOnSuccessListener 始终为 null

    我刚刚更新了我的位置 API 以使用 FusedLocationProviderClient 但我遇到了这个问题 当我关闭并打开 GPS 时 我总是得到空位置 val fusedLocationProviderClient Location
  • 使用 AJAX 并操作 window.location 时不使用弹出窗口拦截器的 window.open

    在处理来自服务器 例如 Twitter 和 Facebook 的 OAuth 时 您很可能会将用户重定向到请求应用程序权限的 URL 通常 单击链接后 您通过 AJAX 向服务器发送请求 然后返回授权 URL 但是当你尝试使用window
  • Azure Web应用服务时区更改问题

    我们正在使用 Azure Web 应用程序服务进行多租户应用程序 但应用程序服务的默认时区是 UTC 我只想更改该地区的时区 我已经在应用程序设置中尝试了 WEB TIMEZONE 变量 但不起作用 You are setting wron
  • 生成 MD5 密钥并保存在文本文件中

    我正在使用 MD5 命令行实用程序 可以从此处获取http www fourmilab ch md5 http www fourmilab ch md5 我想要做的就是生成一个文件夹中所有文件的 MD5 密钥并将它们保存在一个文件中 但是
  • AADSTS70007:请求令牌时,“query”不是“response_mode”受支持的值

    因此 几天前我在 Azure AD 中创建了一个应用程序 请求授权码时 当我请求两者时 我收到以下错误code and id token in response type范围 AADSTS70007 当以下情况时 query 不是 resp
  • 无法访问 Web 控件的 Page_Load 事件中的公共方法

    我想打电话给我的Public String Function 方法来自我的 ascx s Page Load事件 该函数和包含的类位于与 Web 控件相同的代码后面 但我无法访问该功能 我该如何解决这个问题 Example public c
  • 包含闭包的 swift 函数的空返回值

    我创建了一个函数 该函数应该返回一个字典 其中填充了在线检索的数据 使用 json 基于 Ray Wenderlich tut 该代码位于闭包中 问题是首先返回一个空字典 然后才填充它 不知道这是否与获取远程数据的延迟有关 但显然我需要在返
  • Clang-Tidy 找不到我的头文件

    这里是 clang 和 clang tidy 的新手 我有一个具有这种结构的项目 project build cmake component1 src someFile cpp someFile2 cpp someFile hpp some
  • grunt-terser 给出语法错误:“VARIABLE_NAME”被重新声明

    我在用着咕噜语 https www npmjs com package grunt terser缩小我的 es6 文件 我有两个文件 文件1 js 文件2 js 在这两个文件中 我需要一个具有相同变量名称的模块 如下所示 const VAR
  • 如何使用group-concat mysql创建json格式?

    如何使用group concat mysql创建json格式 我使用MySQL 示例1 table1 email name phone email protected cdn cgi l email protection Ben 65553