一.CONVERT、CONCAT、COUNT函数联合查询

CONVERT()函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型。 MySQL还允许它将指定的值从一个字符集转换为另一个字符集。
CONCAT()函数需要一个或多个字符串参数,并将他们连接成一个字符串。CONCAT() 函数需要至少一个参数,否则会引起报错。  
COUNT(1):统计不为NULL 的记录。  
COUNT(*):统计所有的记录(包括NULL)。
COUNT(字段):统计该"字段"不为NULL 的记录。 COUNT(DISTINCT 字段):统计该"字段"去重且不为NULL 的记录。
1.如果这个字段是定义为not null的话,一行行地从记录里面读出这个字段,判断不能为null,按行累加。   
2.如果这个字段定义允许为null的话,判断到有可能是null,还要把值取出来在判断一下,不是null才累加。
SELECT
f_subcontract_unit_name,
CONVERT (
concat(
'好: ',
count( IF ( f_evaluation_result = '好', 1, NULL ) ),
'次',
',差: ',
count( IF ( f_evaluation_result = '差', 1, NULL ) ),
'次'
) USING utf8
) AS evaluationResult
FROM
f_score_result
GROUP BY
f_subcontract_unit_id

这里推荐一篇大佬的博客关于:(295条消息) SQL中CONVERT()函数用法详解_啊猿的博客-CSDN博客

二.JSON_EXTRACT函数

获取JSON对象中某个key对应的value值
json_extract函数中,第一个参数content表示json数据,第二个参数为json路径,其中$表示该json数据本身,$.name就表示获取json中key为name的value值

1.元数据展示:

2.查询SQL片段

SELECT
REPLACE( a.scoreItemId, '"', '' ) AS scoreItemId,
REPLACE ( a.scoreItemName, '"', '' ) AS scoreItemName,
REPLACE ( a.score, '"', '' ) AS score
FROM
(
SELECT
JSON_EXTRACT ( score_item_json, '$[0].scoreItemId' ) AS scoreItemId,
JSON_EXTRACT ( score_item_json, '$[0].scoreItemName' ) AS scoreItemName,
JSON_EXTRACT ( score_item_json, '$[0].score' ) AS score
FROM
t_score
WHERE
score_item_json IS NOT NULL
) a;

3.查询结果片段

参考链接:Mysql中json类型数据查询_mysql查询json内字段_msw、的博客-CSDN博客

MYSQL CONVERT、JSON_EXTRACT函数的使用总结的更多相关文章

  1. mysql中json_extract函数的使用?作用是什么?

    需求描述: 今天看mysql中的json数据类型,涉及到一些使用,使用到了函数json_extract来 获取json字段中某个key的值,在此记录下. 操作过程: 1.查看包含json字段的表信息 ...

  2. mysql json_extract函数获取json字段中某个key的值

    参考:https://www.cnblogs.com/chuanzhang053/p/9139624.html json_extract函数可以获取json对象中指定key的值,用法:json_ext ...

  3. MySQL常用Json函数

    官方文档:JSON Functions Name Description JSON_APPEND() Append data to JSON document JSON_ARRAY() Create ...

  4. (转) MySQL常用Json函数

    原文:http://www.cnblogs.com/waterystone/p/5626098.html 官方文档:JSON Functions Name Description JSON_APPEN ...

  5. MySQL字符串连接函数

    一.CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. select concat(s_id, "--", ...

  6. (MariaDB)MySQL内置函数大全

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  7. thinkphp中的内置操作数据库与mysql中的函数汇总

    8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...

  8. NET MVC全局异常处理(一) 【转载】网站遭遇DDoS攻击怎么办 使用 HttpRequester 更方便的发起 HTTP 请求 C#文件流。 Url的Base64编码以及解码 C#计算字符串长度,汉字算两个字符 2019周笔记(2.18-2.23) Mysql语句中当前时间不能直接使用C#中的Date.Now传输 Mysql中Count函数的正确使用

    NET MVC全局异常处理(一)   目录 .NET MVC全局异常处理 IIS配置 静态错误页配置 .NET错误页配置 程序设置 全局异常配置 .NET MVC全局异常处理 一直知道有.NET有相关 ...

  9. mysql中json_merge函数的使用?

    需求描述: 通过mysql中的json_merge函数,可以将多个json对象合并成一个对象 操作过程: 1.查看一张包含json列的表 mysql> select * from tab_jso ...

  10. Mysql - 存储过程/自定义函数

    在数据库操作中, 尤其是碰到一些复杂一些的系统, 不可避免的, 会用到函数/自定义函数, 或者存储过程. 实际项目中, 自定义函数和存储过程是越少越好, 因为这个东西多了, 也是一个非常难以维护的地方 ...

随机推荐

  1. Scala 模式匹配拓展

    1 package chapter08 2 3 object Test03_MatchTupleExtend { 4 def main(args: Array[String]): Unit = { 5 ...

  2. yml和properties打印SQL日志信息

    1.配置文件里面配置 第一种是properties类型如下 logging.level.com.datayes.mdi.dao.rdb.mommp.**=debug其中 com.datayes.mdi ...

  3. #分块,可撤销并查集#洛谷 5443 [APIO2019]桥梁

    题目 分析 最直接的做法就是在线一边修改边权,询问直接全部重排, 然后用可撤销并查集维护连通块大小,这样时间复杂度为 \(O(qm)\) 同样尽量让大部分的边不需要修改边权,那么每 \(B\) 个操作 ...

  4. 【直播回顾】OpenHarmony 3.1 Release版本南北向关键能力解读

    OpenHarmony 3.1 Release版本发布后,广大开发者们纷纷开始上手体验新版本的功能.但随之而来的一系列问题,摆在了大家的面前:OpenHarmony 3.1这一版本,都有哪些重要的能力 ...

  5. 自动编号工具类:NumAutoUtils详解

    在软件开发中,经常需要生成唯一的编号,例如订单号.发票号.实验编号等.为了简化这一过程,本文将介绍一个Java工具类NumAutoUtils,它可以帮助我们生成带有前缀和日期的自动编号. 概述 Num ...

  6. 开始学习web-sql注入

    web内容多且杂,不知道怎么下手开始学,那就先从sql注入开始学吧 目前只在b站上找了一些课程,还有ctfwiki作为参考 链接贴在下面: ctfwiki https://www.bilibili.c ...

  7. 罗小黑的秘密qsnctfwp

    题目的附件 安装相关工具 在 Linux 中使用命令安装 gem :apt-get install gem 在 Linux 中使用命令安装 zsteg :gem install zsteg 这是一道图 ...

  8. seaJS简介

    所有版本的 zip 包请在这里下载:seajs/tags 解压后,目录说明如下: dist -- sea.js 等压缩好的文件,直接可用 docs -- 使用文档 lib -- 给 Node.js 用 ...

  9. 力扣150(java)-逆波兰表达式求值(中等)

    题目: 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 注意 两个整数之间的除法只保留整数部分. 可以保证给定的逆波兰表达式 ...

  10. 为了让你在“口袋奇兵”聊遍全球,Serverless 做了什么?

    简介: 江娱互动是一家新兴的游戏企业,自 2018 年成立伊始,江娱互动就面向广阔的全球游戏市场,通过创造有趣的游戏体验,在竞争激烈的游戏市场占得一席之地.仅仅 2 年的时间,江娱互动就凭借 Topw ...