私は以下を実行しようとしています。私はLoc
の各IDでグループ化された最大平均を取得したいと思いMySQL最大平均を2つのフィールドでグループ化しました
id | rssi | Loc
160 | -83 |51
160 | -61 |51
161 | -80 |51
163 | -81 |51
161 | -88 |52
161 | -82 |53
:私は、この表x
を持っています。言い換えれば、平均をLoc
、id
でグルーピングしてから、最大でLoc
、id
をそれぞれLoc
にするといいです。私はこれまでのところ、それを試してみました
id | maxAvg | Loc
160 | -72 | 51
163 | -81 | 52
161 | -82 | 53
: 結果はこのようなものになるだろう
SELECT loc, id, avg(rssi) as w FROM x
group by loc, id
この最初の部分はLOCとidごとにグループ化するRSSIの平均をやっているが、後でここで私場所です
選択のLoc、ID、マックス(TW)
ワットとして(t.Locを選択、t.id、AVG(RSSI)FROM:失われた少しですFROM xグループby Loc、id)t
グループby t.Loc
order by t.Loc asc;
正しいアプローチであるかどうかわかりません。どんな助けも大歓迎です。おかげさまで
は解決:
SELECT t.loc, t.id, t.w
FROM (SELECT loc, id, avg(rssi) as w
FROM p
group by loc, id order by loc, w desc)
group by t.loc;
を与える私はあなたの目標データの選択にあなたのテーブルの上に失わ少しです。この実データですか?あなたのテーブルにはどこに53がありますか? – EoinS
「あなたは少し失われている」と私たちに伝えても、あなたを助ける方法は何も私に与えられません。*あなたは何を受け取りましたか? –