题解 | #统计每种性别的人数#

统计每种性别的人数

https://www.nowcoder.com/practice/f04189f92f8d4f6fa0f383d413af7cb8

select
    substring_index (profile, ',', -1) as gender,
    count(device_id)
from
    user_submit
group by
    gender

substring_index (列名, 参照物, 位置):从一个元素的字符串中提取指定位置的文字,SUBSTRING_INDEX(str, delimiter, count)

  • str:需要操作的列
  • delimiter:参照物,分隔符
  • count:第几个参照物,正数的时候从左向右数,负数的时候从右向左数
  • 返回的是一个字符串
select
    if (profile like '%,male', 'male', 'female') as gender,
    count(device_id)
from
    user_submit
group by
    gender
select
    case
        when profile like '%,male' then 'male'
        when profile like '%,female' then 'female'
    end gender,
    count(device_id) as number
from
    user_submit
group by
    gender

case的代码示例

SELECT 
    column_name,
    CASE column_name
        WHEN 值 THEN result1
        WHEN 值 THEN result2
        ...
        ELSE default_result
    END
FROM table_name;
SELECT 
    column_name,
    CASE
        WHEN 条件 THEN result1
        WHEN 条件 THEN result2
        ...
        ELSE default_result
    END
FROM table_name;
SELECT
    order_id,
    CASE status
        WHEN 'pending' THEN '待处理'
        WHEN 'completed' THEN '已完成'
        ELSE '未知状态'
    END
FROM orders;
SELECT
    product_name,
    CASE
        WHEN price < 50 THEN '便宜'
        WHEN price BETWEEN 50 AND 100 THEN '适中'
        WHEN price > 100 THEN '昂贵'
        ELSE '未知价格'
    END
FROM products;

全部评论

相关推荐

点赞 评论 收藏
分享
评论
6
6
分享

创作者周榜

更多
牛客网
牛客企业服务