Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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
Php 如何在MySQL中使用GROUPBY和CONDICTION进行计数_Php_Mysql - Fatal编程技术网

Php 如何在MySQL中使用GROUPBY和CONDICTION进行计数

Php 如何在MySQL中使用GROUPBY和CONDICTION进行计数,php,mysql,Php,Mysql,我有这张桌子: 我需要: 其中: 完成后,所有记录都具有相同的\u legajo和0 零拥有所有相同且 我的桌子是20k唱片 我正在使用PHP和MySQL 一些想法?您可以首先为每个\u legajo选择MIN和MAX: SELECT _legajo, MIN(_count), MAX(_count) FROM signups GROUP BY _legajo; 如果MAX为零,则它自然属于zero类别。如果MIN大于零,则它属于complete类别(MAX自然大于零)。如果M

我有这张桌子:

我需要:

其中:

  • 完成后,所有记录都具有相同的
    \u legajo和0

  • 零拥有所有
    相同且
  • 曲目中的所有记录都具有相同的
    \u legajo
    有些记录的计数为0,有些记录的计数为>

我的桌子是20k唱片

我正在使用
PHP
MySQL


一些想法?

您可以首先为每个
\u legajo
选择
MIN
MAX

SELECT _legajo, MIN(_count), MAX(_count)
  FROM signups
  GROUP BY _legajo;
如果
MAX
为零,则它自然属于
zero
类别。如果
MIN
大于零,则它属于
complete
类别(
MAX
自然大于零)。如果
MIN
为零而
MAX
不为零,则它位于
轨迹中

然后,您可以使用
SUM
来确定具有以下条件的计数:

SELECT
  SUM(CASE WHEN min>0 THEN 1 ELSE 0 END) as complete,
  SUM(CASE WHEN max=0 THEN 1 ELSE 0 END) as zero,
  SUM(CASE WHEN min=0 AND max>0 THEN 1 ELSE 0 END) as track
FROM (SELECT _legajo, MIN(_count), MAX(_count)
  FROM signups
  GROUP BY _legajo) a;