likes
comments
collection
share

数据库系列之数据处理

作者站长头像
站长
· 阅读数 54

所用到的数据表的结构如下:

数据库系列之数据处理

数据表的内容如下:

数据库系列之数据处理

1.插入一列固定值

有时候,我们除了要获取原始表中现有的数据。还想再查询结果中根据选取的数据特征插入一列固定值。其实现方法如下:

SELECT id, `name`,age<20 as label
FROM chapter5 WHERE age<20

result:

数据库系列之数据处理

2.json序列解析

针对json格式存储的数据,可以按照如下办法进行解析。

2.1 获取json数据的value

SELECT id, `name`,JSON_EXTRACT(score, "$.数学")  as "数学成绩"
FROM chapter5

result:

数据库系列之数据处理

2.2 获取json数据的key

SELECT id, `name`,JSON_KEYS(score)  as "科目"
FROM chapter5

result:

数据库系列之数据处理

3.缺失值

从第3节开始所用到的数据表的结构如下:

数据库系列之数据处理

数据表的内容如下:

数据库系列之数据处理

3.1. 缺失值过滤

缺失值有空格、null和空值(用""表示空值)三种表现形式,前2种形式虽然也表示缺失值,但是在对应的单元格内是有值的,而后一种空值是没有值的,表示这个单元格什么都没有。

空值的过滤:

SELECT * FROM chapter6 WHERE profession !=""

result:

数据库系列之数据处理

空格的过滤:

SELECT * FROM chapter6 WHERE profession !=" "

null的过滤

SELECT * FROM chapter6 WHERE profession is not NULL

3.2 缺失值填充

SELECT *, COALESCE(profession,"其他") FROM chapter6

result:

数据库系列之数据处理

4.重复值处理

4.1 distinct

SELECT DISTINCT order_id, memberid FROM chapter6

result:

数据库系列之数据处理

4.2 group by

SELECT order_id, memberid FROM chapter6 GROUP BY order_id, memberid

result:

数据库系列之数据处理

5.数据类型转换

数据类型转换主要有以下两个方法: cast(value as type)

convert(value, type)

SELECT age, CAST(age as DECIMAL) decimal_age, CONVERT(age, CHAR) char_age FROM chapter6

result:

数据库系列之数据处理

转载自:https://juejin.cn/post/7024678438938099725
评论
请登录