PHP MYSQL查询合并并添加两个相等的结果

PHP MYSQL查询合并并添加两个相等的结果,php,mysql,Php,Mysql,有人请帮我解决我的sql查询我已经花了两天的时间 下面给出了一个MYSQL查询 (SELECT c.cl_list as cl_list, c.name as name, pc.value as value, count( pc.value) as total FROM projs p LEFT JOIN classify_proj_new pc ON p.proj_id = pc.proj_id_fk LEFT JOIN classify_list c

有人请帮我解决我的sql查询我已经花了两天的时间

下面给出了一个MYSQL查询

(SELECT
  c.cl_list as cl_list,
  c.name as name,
  pc.value as value,
  count( pc.value) as total
FROM
  projs p 
  LEFT JOIN classify_proj_new pc 
    ON p.proj_id = pc.proj_id_fk
  LEFT JOIN classify_list c 
    ON c.cl_list = pc.class_id_fk
WHERE
  MATCH ( p.title ) AGAINST ( 'jerm'  IN BOOLEAN MODE )
GROUP BY 
  c.cl_list,
  pc.value)
UNION ALL
(SELECT
  c.cl_list as cl_list,
  c.name as name,
  pc.value as value,
  count( pc.value) as total
FROM
  jerm p 
  LEFT JOIN classify_jerm_new pc
    ON p.jerm_id = pc.jerm_id_fk
  LEFT JOIN classify_list c
    ON c.cl_list = pc.class_id_fk
WHERE
  MATCH ( p.jermname ) AGAINST ( 'jerm'  IN BOOLEAN MODE )
GROUP BY
  c.cl_list,
  pc.value)
其结果如下所示:

但我正试图得到一个结果,它可以将重复值的总数相加,避免重复值……类似这样的事情(如下所示):

有人请帮帮我,我很难过我的输出


非常感谢您的光临…

请尝试下面的代码。它将显示唯一的记录并避免重复

GROUP BY c.name

试试下面的代码。它将显示唯一的记录并避免重复

GROUP BY c.name

group
名称和值的结果

(SELECT c.cl_list as cl_list, c.name as name, pc.value as value, count( pc.value) as total
FROM projs p 
LEFT JOIN classify_proj_new pc ON p.proj_id = pc.proj_id_fk
LEFT JOIN classify_list c ON c.cl_list = pc.class_id_fk
WHERE MATCH ( p.title ) AGAINST ( 'jerm'  IN BOOLEAN MODE )
GROUP BY c.name, pc.value)
UNION ALL
(SELECT  c.cl_list as cl_list, c.name as name, pc.value as value, count( pc.value) as total
 FROM jerm p 
 LEFT JOIN classify_jerm_new pc ON p.jerm_id = pc.jerm_id_fk
 LEFT JOIN classify_list c ON c.cl_list = pc.class_id_fk
 WHERE MATCH ( p.jermname ) AGAINST ( 'jerm'  IN BOOLEAN MODE )
 GROUP BY c.name, pc.value)

group
名称和值的结果

(SELECT c.cl_list as cl_list, c.name as name, pc.value as value, count( pc.value) as total
FROM projs p 
LEFT JOIN classify_proj_new pc ON p.proj_id = pc.proj_id_fk
LEFT JOIN classify_list c ON c.cl_list = pc.class_id_fk
WHERE MATCH ( p.title ) AGAINST ( 'jerm'  IN BOOLEAN MODE )
GROUP BY c.name, pc.value)
UNION ALL
(SELECT  c.cl_list as cl_list, c.name as name, pc.value as value, count( pc.value) as total
 FROM jerm p 
 LEFT JOIN classify_jerm_new pc ON p.jerm_id = pc.jerm_id_fk
 LEFT JOIN classify_list c ON c.cl_list = pc.class_id_fk
 WHERE MATCH ( p.jermname ) AGAINST ( 'jerm'  IN BOOLEAN MODE )
 GROUP BY c.name, pc.value)

从查询和分组列表中选择名称和值:

SELECT
  cl_list,
  name,
  value,
  sum(total) as total
FROM (
  -- your current query here ...
) data
GROUP BY
  cl_list,
  name,
  value

从查询和分组列表中选择名称和值:

SELECT
  cl_list,
  name,
  value,
  sum(total) as total
FROM (
  -- your current query here ...
) data
GROUP BY
  cl_list,
  name,
  value

group
name和value的结果,而不是cl_列表和value,@AkamOmer我用那种方式尝试了,但仍然得到了相同的结果。该怎么办。thank@SuhelMeman伙计,我以另一种方式得到了相同的结果..任何其他主题…而不是检查下面的查询,我在回答部分
group
发布了关于名称和值的结果,我没有使用cl_列表和值,@AkamOmer,而是用这种方式尝试了,但仍然得到了相同的结果。thank@SuhelMeman伙计,我用另一种方式得到了同样的结果。任何其他的主题…都可以在下面的查询中找到,我在答案中贴了出来section@hasan:在这个案例中只需要按姓名分组:)哇,感谢上帝。。。halo mate你救了我一天谢谢你太完美了。。。。你是genius@AkamOmer由于MySQL不在模式下时允许不明确的分组查询,因此为true。我选择了“安全使用”并坚持SQL标准:)它就像视图一样(从视图中选择)将是一个诀窍also@hasan:在这个案例中只需要按姓名分组:)哇,感谢上帝。。。halo mate你救了我一天谢谢你太完美了。。。。你是genius@AkamOmer由于MySQL不在模式下时允许不明确的分组查询,因此为true。我选择了“安全使用”并坚持SQL标准:)它就像视图一样(从视图中选择)也是一个技巧