Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/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 Sql在结果之后求两列相同id的和_Mysql_Sql_Mysql Workbench - Fatal编程技术网

Mysql Sql在结果之后求两列相同id的和

Mysql Sql在结果之后求两列相同id的和,mysql,sql,mysql-workbench,Mysql,Sql,Mysql Workbench,结果是: +-------+--------+--------+-----+--------------+ | Count | Equipe | IdTeam | Id | Name | +-------+--------+--------+-----+--------------+ | 21 | A | 1 | 358 | closs on D | | 107 | B | 2 | 358 | closs D |

结果是:

+-------+--------+--------+-----+--------------+
| Count | Equipe | IdTeam | Id  |     Name     |
+-------+--------+--------+-----+--------------+
|    21 | A      |      1 | 358 | closs on D   |
|   107 | B      |      2 | 358 | closs D      |
|    15 | A      |      1 | 357 | Asos closs D |
|     9 | B      |      2 | 357 | Asos closs D |
+-------+--------+--------+-----+--------------+
如果Id相同,我需要这个
total=count+count

+-------+--------+---------+---------+-----+---------------+
| total |  Count |  Equipe |  IdTeam |  Id |      Name     |
+-------+--------+---------+---------+-----+---------------+
|   128 |     21 |  A      |       1 | 358 |  closs D      |
|   128 |    107 |  B      |       2 | 358 |  closs D      |
|    24 |     15 |  A      |       1 | 357 |  Asos closs D |
|    24 |      9 |  B      |       2 | 357 |  Asos closs D |
+-------+--------+---------+---------+-----+---------------+
所以我补充说:

sum(CASE WHEN t2_aop_appel.t2_aop_Zone_Id = t2_aop_appel.t2_aop_Zone_Id 
         THEN 1 
         ELSE 0 
    end) as total
所以我试着这样做:

    SELECT sum(CASE WHEN t2_aop_appel.t2_aop_Zone_Id=t2_aop_appel.t2_aop_Zone_Id THEN 1 ELSE 0 end) as total,count(*) as Count,t2_aop_equipe.Name as Equipe,t2_aop_equipe.Id as IdTeam,t2_aop_appel.t2_aop_Zone_Id as Id,t2_aop_zone.Name  
FROM t2_aop_appel   
join t2_aop_equipe on t2_aop_appel.t2_aop_Equipe_Id = t2_aop_equipe.Id
  join t2_aop_zone on t2_aop_appel.t2_aop_Zone_Id = t2_aop_zone.Id  
  WHERE  t2_aop_appel.t2_aop_Usine_Id = 1 AND t2_aop_appel.t2_aop_Departement_Id = 1 AND t2_aop_appel.t2_aop_Atelier_Id = 3 AND
  t2_aop_appel.t2_aop_Ligne_Id = 13 AND t2_aop_appel.t2_aop_Appel_Type_Id  in(1) AND t2_aop_appel.t2_aop_Equipe_Id  in(1,2) AND
  t2_aop_appel.t2_aop_Category_Id  in(1,2,3,4,5,6) AND t2_aop_appel.Appel >= '2017-11-20' AND t2_aop_appel.Appel <= '2017-11-26'  
 Group By  t2_aop_equipe.Name,t2_aop_zone.Id 
选择sum(当t2_aop_appel.t2_aop_Zone_Id=t2_aop_appel.t2_aop_Zone_Id然后选择1或0 end)作为总计,count(*)作为计数,t2_aop_equipe.Name作为设备,t2_aop_equipe.Id作为IdTeam,t2_aop_appel.t2_aop_equipe.t2_aop_Zone_Id作为Id,t2_aop_Zone.Name
来自t2_aop_appel
在t2_aop_appel.t2_aop_equipe_Id=t2_aop_equipe.Id上加入t2_aop_equipe
在t2_aop_appel.t2_aop_zone_Id=t2_aop_zone.Id上加入t2_aop_zone
其中t2_aop_appel.t2_aop_Usine_Id=1,t2_aop_appel.t2_aop_department_Id=1,t2_aop_appel.t2_aop_Atelier_Id=3,以及
(1)中的t2_aop_appel.t2_aop_Ligne_Id=13和(1,2)中的t2_aop_appel.t2_aop_appel.t2_aop_设备Id和
t2_aop_appel.t2_aop_Category_Id in(1,2,3,4,5,6)和t2_aop_appel.appel>='2017-11-20'和t2_aop_appel.appel您需要一个子查询

SELECT *, (SELECT SUM(Count) 
           FROM YourTable t2
           WHERE t2.Id  = t1.Id ) as Total
FROM YourTable t1

注意:在本例中,YourTable是生成第一个结果的查询。因此,您要么重复查询,要么将其保存为临时表。

我认为我无法尝试使用此命名策略:-(