列表

详情


1667. 修复表中的名字

表: Users

+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| name           | varchar |
+----------------+---------+
user_id 是该表的主键。
该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。

 

编写一个 SQL 查询来修复名字,使得只有第一个字符是大写的,其余都是小写的。

返回按 user_id 排序的结果表。

查询结果格式示例如下。

 

示例 1:

输入:
Users table:
+---------+-------+
| user_id | name  |
+---------+-------+
| 1       | aLice |
| 2       | bOB   |
+---------+-------+
输出:
+---------+-------+
| user_id | name  |
+---------+-------+
| 1       | Alice |
| 2       | Bob   |
+---------+-------+

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
# Write your MySQL query statement below

pythondata 解法, 执行用时: 268 ms, 内存消耗: 60.7 MB, 提交时间: 2023-08-09 15:19:37

import pandas as pd

def fix_names(users: pd.DataFrame) -> pd.DataFrame:
    # 将name列中的名字转换为首字母大写,其余字母小写的格式
    users['name'] = users['name'].str.capitalize()
    
    # 按user_id升序排序
    users_sorted = users.sort_values(by='user_id', ascending=True)
    
    return users_sorted

mysql 解法, 执行用时: 711 ms, 内存消耗: 0 B, 提交时间: 2022-05-31 10:15:07

# Write your MySQL query statement below
select user_id, concat(left(upper(name), 1), substring(lower(name), 2)) as name from users order by user_id asc;

mysql 解法, 执行用时: 628 ms, 内存消耗: 0 B, 提交时间: 2022-05-27 11:16:49

# Write your MySQL query statement below
select user_id, concat(left(upper(name), 1), substring(lower(name), 2)) as name from users order by user_id asc;

上一题