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,有些记录的计数为>
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;