Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql查询中单个列中的条件_Mysql - Fatal编程技术网

mysql查询中单个列中的条件

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

我有一个表名“social_user”,下面是一个名为“return”的列的屏幕截图-

我想从social_user表中计算用户数,其中返回等于0的用户为新_用户,返回大于0的用户为返回_用户,并且总用户输出应如以下屏幕截图所示:

我尝试了下面的查询,但不起作用-

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