MySQL:使用MAX()和COUNT()获取指定的子查询

时间:2014-06-06 19:13:21

标签: mysql

我正在尝试从子查询中获取指定的属性。我想要的是id_prova(来自子查询)与另一个保存相应值的表相关。我如何才能从那里“取出”,这样我才能做出正确的比较。我赞成任何帮助。

我的查询如下:

SELECT 
  nome_Animal,
  id_prova,
  MAX(TotalAmount) 
FROM
  (SELECT 
    provas_animais.nome_Animal,
    provas.id_prova,
    SUM(montante) AS TotalAmount 
  FROM
    patrocinador_anologo,
    provas,
    provas_animais 
  WHERE patrocinador_anologo.id_prova = provas.id_prova 
    AND patrocinador_anologo.id_prova = provas_animais.id_prova 
  GROUP BY (provas.id_prova)) provas,
  provas_animais 
GROUP BY (id_prova) 

1 个答案:

答案 0 :(得分:0)

你的意思是在下面做出你喜欢的。您正在做的是从派生表(FROM (...))获取数据。我还要更改您的连接语法以使其正确。此外,您不需要最后一个分组,因为您只是想获得TotalAmount的最大值。

Select nome_Animal, 
id_prova, 
MAX(TotalAmount) 
FROM 
(
select provas_animais.nome_Animal,
provas.id_prova, 
sum(montante) as TotalAmount 
FROM patrocinador_anologo
join provas on patrocinador_anologo.id_prova = provas.id_prova
join provas_animais on patrocinador_anologo.id_prova = provas_animais.id_prova

GROUP BY provas.id_prova
) X