select sum(age) as age_total , sum(case sex when 'male' then age else 0 end ) age_male_total from people group by provice; 注意:若每个省份男的比较多,则此 sql语句要进行多次case判断,效率比较低下。
在mysql中我们可以使用group by sum case when 来解决这个问题,sql语句如下: select date_year, sum(case when win_lose = '胜' then 1 else 0 end) win, sum(case when win_lose = '负' then 1 else 0 end) lose from scores group by date_year; 结果如下: +---+---+---+ | date_year ...
CASE WHEN 和 聚合函数综合使用,能实现更加复杂的统计功能。 先看第1个场景 在下表score(sex=1为男,sex=0为女)中,统计有多少个男生和女生以及男女生及格的各有多少个。 SQL: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 SELECTSUM(CASEWHENsex=0THEN1ELSE0END)AS女生人数,SUM(CASEWHENsex=1THEN1E...
# when 表达式中可以使用 and 连接条件 代码语言:javascript 代码运行次数:0 运行 AI代码解释 SELECT NAME '英雄', age '年龄', CASE WHEN age < 18 THEN '少年' WHEN age < 30 THEN '青年' WHEN age >= 30 AND age < 50 THEN '中年' ELSE '老年' END '状态' FROM user_info; 聚合函数 sum 配...
select case country when '中国' then '亚洲' when '印度' then '亚洲' when '日本' then '亚洲' when '美国' then '北美洲' when '加拿大' then '北美洲' when '墨西哥' then '北美洲' else '其他' end as 洲, -- 起别名 sum(population) as 人口 -- 起别名 ...
7,10)THENpay_amtEND)ASWeChat,SUM(CASEWHENpay_typeIN(6,9,12)THENpay_amtEND)ASBank_Card,SUM...
编写SQL查询,使用CASE WHEN结构对数据进行条件判断: 使用CASE WHEN语句来根据category字段的值进行条件判断。对于每个满足条件的记录,我们将在THEN部分进行求和操作。 在CASE WHEN结构内部对每个满足条件的记录进行求和操作: 实际上,CASE WHEN语句本身并不直接执行求和操作。通常,我们会将CASE WHEN语句作为SUM函数的一部分...
SUM(CASE WHEN is_registry = 0 then 1 else 0 END) as zerocount , SUM(CASE WHEN is_registry = 1 then 1 else 0 END) as onecount FROM t_enroll_student 1. 2. 3. 4. 使用group by可以实现: select is_registry , count(1) count from t_enroll_student group by is_registry ...
mysql 中进行销量统计时,使用sum和case when,代码片段如下: SUM(CASE WHEN sale_date between '2022/03/01 00:00:00' and '2022/03/31 23:59:59' THEN 1 ELSE 0 END) AS salesVolume
when sex= '2' then '女'else'其他'end#和if else逻辑类似,命中后其他分支不会继续#实际用法select u.id,u.name,u.sex, (case u.sex when1then '男' when2then '女'else'空的'end)性别 from users u; 结合聚合函数 select sum(case u.sex when1 then 1else0end)男性, ...