select sum(value) as 'Value',max(value)
from table_name where sum(value)=max(sum(value)) group by id_name;
Ошибка: Недопустимое использование групповой функции (ErrorNr 1111).MySql Sql MAX и SUM ошибка
Любая идея?
Спасибо.
select sum(value) as 'Value',max(value)
from table_name where sum(value)=max(sum(value)) group by id_name;
Ошибка: Недопустимое использование групповой функции (ErrorNr 1111).MySql Sql MAX и SUM ошибка
Любая идея?
Спасибо.
Можете ли вы, возможно, попробовать
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
Часть =max(sum(value))
требует сравнения результатов двух сгруппированных выборок, а не только одного. (Максимальная сумма.)
Давайте вернемся назад, хотя: какую информацию вы на самом деле пытаетесь получить? Поскольку сумма значений в таблице уникальна; нет минимума или максимума (или, в зависимости от вашей точки зрения, есть - значение - это его собственный минимум и максимум). Вам нужно будет применить некоторые дополнительные критерии, чтобы результаты были значимыми, и при этом вам, вероятно, нужно будет делать соединение или подзапрос с некоторыми критериями.
В 'тах (сумма (значение)) 'вызывает проблему Лем? Что вы пытаетесь получить? – Rippo
Я хочу выбрать только записи, имеющие сумму (значение) максимум. – Emanuel