select sum(value) as 'Value',max(value)
from table_name where sum(value)=max(sum(value)) group by id_name;
错误是:组函数的使用无效(ErrorNr. 1111)
任何的想法?
谢谢。
select sum(value) as 'Value',max(value)
from table_name where sum(value)=max(sum(value)) group by id_name;
错误是:组函数的使用无效(ErrorNr. 1111)
任何的想法?
谢谢。
你可以试试
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 论坛 :: General :: 选择 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
该=max(sum(value))
部分需要比较两个分组选择的结果,而不仅仅是一个。(总和的最大值。)
不过,让我们退后一步:您实际上想获得什么信息?因为表中值的总和是唯一的;没有最小值或最大值(或者,根据您的观点,有——该值是它自己的最小值和最大值)。您需要在其中应用一些进一步的标准才能使结果有意义,并且这样做您可能需要使用某些标准进行连接或子选择。