题解 | SQL 入门 30 #统计每种性别的人数#

统计每种性别的人数

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

知识

select 语句中 if 的用法

IF( expr1 , expr2 , expr3 )

expr1 的值为 TRUE,则返回值为 expr2

expr1 的值为FALSE,则返回值为 expr3

题解

依旧使用case和like即可简单实现

SELECT CASE
WHEN profile like '%female' THEN 'female'
ELSE 'male'
END AS gender
,COUNT(*) number
FROM user_submit
GROUP BY gender;

仅为两项可用if代替case,搭配like使用

SELECT IF( profile LIKE '%female','female','male') gender
,COUNT(*) number
FROM user_submit
GROUP BY gender;
【题解】SQL 入门 文章被收录于专栏

SQL 入门 题解

全部评论
if( profile like '%,male',male ,female)这个为啥不对啊
点赞 回复 分享
发布于 03-05 10:47 辽宁
为什么 select case when profile like '%male' then 'male' else 'female' end as gender,count(*) as number from user_submit group by gender; 这样报错呀,这样只会记男性为5。 为啥会有这种结果呢?
点赞 回复 分享
发布于 2022-03-16 22:55

相关推荐

评论
17
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务