mysql json數組對象,單獨提取某一個對象並提取某一個屬性數據


如 字段 detail_data 值 類型:

[{“name”: “技術活動名稱”, “value”: “活動1”}, {“name”: “計划評審時間”, “value”: “2021-03-20”}, {“name”: “項目名稱”, “value”: “修改編輯時的選人問題”}, {“name”: “項目類別”, “value”: “地震勘探”}, {“name”: “成果名稱”, “value”: “成果名稱”}, {“name”: “評審主持人”, “value”: “[“215815092837727976”]”}, {“name”: “工作類別”, “value”: “建設”}, {“name”: “內容”, “value”: “內容”}, {“name”: “表格”, “value”: “1”}, {“name”: “費用合計”, “value”: “102917.1”}, {“name”: “會議通知”, “value”: “通知”}]

在這里插入圖片描述

我需要把全部的 費用合計 求和統計

{“name”: “費用合計”, “value”: “102917.1”}

SELECT
	SUM(
		JSON_EXTRACT( detail_data, JSON_UNQUOTE( REPLACE ( JSON_SEARCH( detail_data, 'all', '費用合計', NULL, '$[*].name' ), 'name', 'value' ) ) ) 
	) AS sum
FROM
	project_approve_info 
WHERE
	type = '財務管理-生產專家咨詢';


在這里插入圖片描述

mysql json字段 某個屬性的值模糊查詢


 SELECT
  * 
FROM
  project_approve_info 
WHERE
  type = '財務管理-生產專家咨詢' 
  AND JSON_EXTRACT( detail_data, 
  JSON_UNQUOTE( 
  REPLACE ( JSON_SEARCH( detail_data, 'all', '費用合計', NULL, '$[*].name' ), 'name', 'value' ) ) ) LIKE "%23%";

value值為json數組格式的字符串,需要與其他json數組合並
value值為json數組格式的字符串,需要與其他json數組合並

SELECT
	JSON_MERGE_PRESERVE (
		attachment,
		JSON_UNQUOTE (
			JSON_EXTRACT( detail_data, JSON_UNQUOTE( REPLACE ( JSON_SEARCH( detail_data, 'all', '附件', NULL, '$[*].name' ), 'name', 'value' ) ) ) 
		) 
	) '附件' 
FROM
	project_approve_info 
WHERE
	project_id = 43 
	AND type = '設計書審查'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM