select sum(value) as 'Value',max(value)
from table_name where sum(value)=max(sum(value)) group by id_name;
エラー: グループ関数の無効な使用 (エラー番号 1111)
何か案が?
ありがとう。
select sum(value) as 'Value',max(value)
from table_name where sum(value)=max(sum(value)) group by id_name;
エラー: グループ関数の無効な使用 (エラー番号 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 フォーラムから:: 一般 :: 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))
部分では、1 つだけでなく、グループ化された 2 つの選択の結果を比較する必要があります。(合計の最大値)
話を戻しましょう: 実際に取得しようとしている情報は何ですか? テーブル内の値の合計は一意であるためです。最小値または最大値はありません (または、見方によっては、値はそれ自体の最小値と最大値です)。結果を意味のあるものにするには、そこにさらにいくつかの基準を適用する必要があります。その際、おそらくいくつかの基準で結合またはサブセレクトを行う必要があります。