继续
1667.修复表中的名字
编写一个 SQL 查询来修复名字,使得只有第一个字符是大写的,其余都是小写的。
返回按 user_id
排序的结果表。
考点
1.concat()函数
🔨将多个字符串拼接在一起。
2 LEFT(str, length) 函数
🔨从左开始截取字符串,length 是截取的长度。
3 UPPER(str) 与 LOWER(str)
🔨UPPER(str) 将字符串中所有字符转为大写
🔨LOWER(str) 将字符串中所有字符转为小写
4 SUBSTRING(str, begin, end)
🔨截取字符串,end 不写默认为空。
SUBSTRING(name, 3) :截取从第3个字符开始所有的字符。
1 | SELECT SUBSTRING('成都融资事业部',3) |
SUBSTRING(name,5,3):从第5个字符开始 只截取之后的3个字符
1 | SELECT SUBSTRING('成都融资事业部',5,3) |
SUBSTRING(name,-4):从倒数第4个开始取 取到最后面
1 | SELECT SUBSTRING('成都融资事业部',-4) |
SUBSTRING(name,-4,2):从倒数第4个开始取 取这个后面2个字符(包括这倒数第4个在内
1 | SELECT SUBSTRING('成都融资事业部',-4,2) |
代码
1 | select user_id , contact(upper(left(name,1)),lower(substring(name,2))) as name |
1484.按日期分组销售产品
编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称。
每个日期的销售产品名称应按词典序排列。
返回按 sell_date
排序的结果表。
考点
1.count()函数
🔨返回匹配指定条件的行数
count(*)
🔨计算所有行行数
count(exp)
🔨返回不包含NULL值的行数
count(distinct expression)
🔨返回不包含NULL值的唯一行数
2.GROUP_CONCAT()函数
👉将组中的字符串连接成为具有各种选项的单个字符串。
语法
1 | group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) |
3.词典序
表示英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系。
4.group by()
用于结合合计函数,根据一个或多个列对结果集进行分组。
语法
1 | SELECT column_name, aggregate_function(column_name) |
代码
1 | # Write your MySQL query statement below |
1527.患某种疾病的患者
写一条 SQL 语句,查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。
like语句
代码
1 | # Write your MySQL query statement below |
发现WA了。13/14(不是11/14不是很认可😇😇)
后来发现是后2行有小空格没处理好
1 | # Write your MySQL query statement below |
%xxx%匹配的是xxx,哪怕空格在里面也可以匹配。
只有一个%不允许有空格。(暂时这样理解)