select sum(value) as 'Value',max(value)
from table_name where sum(value)=max(sum(value)) group by id_name;
错误是:无效使用组功能(ErrorNr.1111)
有什么想法吗?
感谢。
答案 0 :(得分:4)
你可以试试吗
SELECT Value, MXValue
FROM (
select sum(value) as 'Value',max(value) MXValue
from table_name
group by id_name
) as t1
order by value desc
LIMIT 0,1
来自MySQL Forums :: General :: selecting MAX(SUM())
或者您可以尝试类似
的内容SELECT id_name,
Value
FROM (
select id_name,sum(value) as 'Value'
from table_name
group by id_name
) t
WHERE Value = (
SELECT TOP 1 SUM(Value) Mx
FROM table_name
GROUP BY id_name
ORDER BY SUM(Value) DESC
)
甚至使用内部联接
SELECT id_name,
Value
FROM (
select id_name,sum(value) as Value
from table_name
group by id_name
) t INNER JOIN
(
SELECT TOP 1 SUM(Value) Mx
FROM table_name
GROUP BY id_name
ORDER BY SUM(Value) DESC
) m ON Value = Mx
答案 1 :(得分:0)
=max(sum(value))
部分需要比较两个分组选择的结果,而不仅仅是一个。 (总和的最大值。)
让我们退后一步:你究竟想要获得什么信息?因为表中值的总和是唯一的;没有最小值或最大值(或者,根据您的观点,有 - 值是它自己的最小值或最大值)。您需要在其中应用一些其他标准才能使结果有意义,并且这样做您可能需要使用某些条件进行连接或子选择。