如 字段 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
project_approve_info
WHERE
type = '财务管理-生产专家咨询';
mysql json字段 某个属性的值模糊查询
SELECT
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数组合并
SELECT
JSON_MERGE_PRESERVE (
attachment,
JSON_UNQUOTE (
JSON_EXTRACT( detail_data, JSON_UNQUOTE( REPLACE ( JSON_SEARCH( detail_data, 'all', '附件', NULL, '$[*].name' ), 'name', 'value' ) ) )
) '附件'
project_approve_info
WHERE
project_id = 43
AND type = '设计书审查'
【MySQL】对JSON数据操作(全网最全)
总所周知,mysql5.7以上提供了一种新的字段格式-json,大概是mysql想把非关系型和关系型数据库一口通吃,所以推出了这种非常好用的格式,这样,我们的很多基于mongoDb或者clickHouse的业务都可以用mysql去实现了。当然了,5.7的版本只是最基础的版本,对于海量数据的效率是远远不够的,不过这些都在mysql8.0解决了。今天我们就针对mysql的json数据格式操作做一个简单的介绍。
如何创建json格式字段
这里我们先创建一个简单的含js
MySQL允许开发人员将JSON字段作为关系数据库表中的行存储,并且还提供了一些新的函数和运算符来实现查询这些字段的数据。MySQL的JSON支持有助于简化开发和减轻数据库管理员的压力,同时还能够提高数据库的性能和可靠性。
1 Mysql解析json字符串解决方法:JSON_EXTRACT(原字段,'$.json字段名')执行SQL:SELECT JSON_EXTRACT( t.result,'$.row'),JSON_EXTRACT( t.result,'$.value'),JSON_EXTRACT( t.result,'$.criteria')from t.test t查询结果: 2mysql解析json数组...
select SUBSTRING_INDEX(SUBSTRING_INDEX('schema, table, opType, opTs, recordRowid, tranScn, trailSeqno',',', 3),',', -1)
opType
select SUBSTRING_INDEX(SUBSTRING_INDEX('schema, table, opType, opTs, recordRowid, tranScn, trailSeqno',',', 4),',', -1)
opTs.
[{"id": "dad014a2f9594a62ae3f7be3", "del": 10, "code": "XC02104162990","orgId": "5e0364ff8139f600163ff", "state": 10, ...
SELECT count(*) num FROM (SELECT
app_user_device_data_time FROM `app_user_device_data` a LEFT JOIN app_user_device aud ON a.app_user_device_id = aud.app_user_device_id
WHERE aud.app_device_id = 14 AND a.app_user_device_data_time BET...
$blank_nums = Db::table("fill_blank")
->field("flag,count(*) as num")
->where("ac_id", session("ac_id"))
->whereOr("ac_id", null)
->group("flag")
->order("flag", "a.
这里是我的Controller层的一小段代码
$produceStyle = exhibitionSql::allProduceStyle();//产品类型
//var_dump($produceStyle);
$j=0;
public void loopHouseAreaLevel(AreaDetailJson areaDetailJson){
//如果children 还有内容 那么继续遍历
if(areaDetailJson.getDetailIds().isEmpty()){//非最底层
for (AreaDetailJson child : areaDetailJson.getChildren()) .
起源事件起源是论坛里的一篇帖子,关于数组的.lenth多次调用是否会影响效率,回帖中发现有人说数组是类,调用类的.lenth属性就是看一下值,速度不会慢,云云。然后我就非常不同意的问人家“数组是对象?”,其实有点故意挑毛病的味道,但正是我这句话引起了论坛里较真的同学们的批判,事实证明,我错了,数组就是对象。经过论坛里同学也给出了比较合理的反驳理由,就是下面这张图:已经比较直观地说明数组是Object
List<OrderForm> orderForms = orderFormMapper.selectByUerId(account);
//从数据库中拿到数据,生成对象列表
for(int i=0;i<orderForms.size();i++){
List<Shopp...
PHP查询数据库出来的是个数组数组里面有很多结果集请问我应该怎么把这些结果集循环输出到页面去、。["items"]=>array(8){[0]=>array(12){["id"]=>string(1)"6"["name"]=>string(25)"测...PHP查询数据库 出来的是个数组 数组里面有很多结果集 请问我应该怎么把这些结果集循环输出到页面去、。["items"]...