mysql查询中单个列中的条件
我有一个表名“social_user”,下面是一个名为“return”的列的屏幕截图- 我想从social_user表中计算用户数,其中返回等于0的用户为新_用户,返回大于0的用户为返回_用户,并且总用户输出应如以下屏幕截图所示: 我尝试了下面的查询,但不起作用-mysql查询中单个列中的条件,mysql,Mysql,我有一个表名“social_user”,下面是一个名为“return”的列的屏幕截图- 我想从social_user表中计算用户数,其中返回等于0的用户为新_用户,返回大于0的用户为返回_用户,并且总用户输出应如以下屏幕截图所示: 我尝试了下面的查询,但不起作用- select count(`return` = 0) as new, count(`return` > 0) as returning from social_user 我想你需要条件和而不是计数 select sum(`re
select count(`return` = 0) as new, count(`return` > 0) as returning from social_user
我想你需要条件和而不是计数
select
sum(`return` = 0) as `new`,
sum(`return` > 0) as returning,
count(*) as total_user
from social_user
您可以这样做:
SELECT
SUM(CASE WHEN `return` = 0 THEN 1 ELSE 0 END) AS new_user,
SUM(CASE WHEN `return` > 0 THEN 1 ELSE 0 END) AS returning_user,
SUM(CASE WHEN `return` >= 0 THEN 1 ELSE 0 END AS total_user
FROM
social_user