Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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_Sql - Fatal编程技术网

MYSQL将一列中的两个不同值拆分为两列

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

我试图进行一个查询,根据id将“Y”和“N”的两个值拆分为两个不同的列,并计算它们在每个id中出现的总次数

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