MYSQL将一列中的两个不同值拆分为两列
我试图进行一个查询,根据id将“Y”和“N”的两个值拆分为两个不同的列,并计算它们在每个id中出现的总次数MYSQL将一列中的两个不同值拆分为两列,mysql,sql,Mysql,Sql,我试图进行一个查询,根据id将“Y”和“N”的两个值拆分为两个不同的列,并计算它们在每个id中出现的总次数 SELECT exerciseId, count(frustrated) Frustrated from selfreportfrustration where frustrated = 'Y' group by exerciseId; SELECT exerciseId, count(frustrated) NotFrustrated from selfreportfrustratio
SELECT exerciseId, count(frustrated) Frustrated from selfreportfrustration where frustrated = 'Y' group by exerciseId;
SELECT exerciseId, count(frustrated) NotFrustrated from selfreportfrustration where frustrated = 'N' group by exerciseId;
到目前为止,我只对每个值进行了一次查询,但我希望能够将其缩短为一次查询,以便我的程序正常运行。我们将在另一列中添加“Y”或“N”:
SELECT frustrated, exerciseId,
count(frustrated) Frustrated
from selfreportfrustration
group by frustrated, exerciseId;
我们将在另一列中添加“Y”或“N”:
SELECT frustrated, exerciseId,
count(frustrated) Frustrated
from selfreportfrustration
group by frustrated, exerciseId;
您可以使用条件聚合:
select exerciseId, sum(frustrated = 'Y') as Frustrated,
sum(frustrated = 'N') as NotFrustrated
from selfreportfrustration
group by exerciseId;
您可以使用条件聚合:
select exerciseId, sum(frustrated = 'Y') as Frustrated,
sum(frustrated = 'N') as NotFrustrated
from selfreportfrustration
group by exerciseId;
可以将聚合与条件函数一起使用
尝试:
可以将聚合与条件函数一起使用
尝试:
您可以在两个查询之间使用union您可以在两个查询之间使用union