次の構造のテーブルがあります-steamid、itemid、eventid、value、すべて、挿入した1時間ごとのデータをログに記録するintまたはbigintです。したがって、ユーザーは、同じsteamid、itemid、さらには値を持つ複数のエントリを持っている可能性があります。
上位100個の値を取得しようとしていますが、同じ項目を繰り返してはなりません。
私が今まで持っているのは
SELECT itemid,value,steamid
FROM $table
GROUP BY itemid
ORDER BY value DESC
LIMIT 0,100
これでこのデータセットが得られます(ここでのみサンプル):
itemid value steamid
=================================================
599291414 66397 76561198032389066
779150329 62882 76561198001229760
773965297 51895 76561198014617403
332883551 43201 76561197992659494
333434836 40880 7656119799359013
ただし、これは何らかの理由で、表にリストされている真の最大値を無視します。同じitemidとsteamidを持つ重複エントリを無視できるように、これを他にどのようにフォーマットできるかわかりません。Steamidでグループ化できるとは思いません。そうすると、Steamidに関連付けられている可能性のある他のアイテムが無視されるためです。
グループ化せずに選択した場合の最初のいくつかは次のとおりです。
itemid value steamid
=====================================
1011809265 753665 76561198010314894
376615188 101684 76561197989760193
478937438 83448 76561198010314894
478937438 83448 76561198010314894
376662587 72693 76561197989760193
376662587 72693 76561197989760193
599291414 66454 76561198032389066
599291414 66454 76561198032389066
599291414 66454 76561198032389066
インサイトに感謝します。これを理解するのに役立つ可能性のある質問には喜んでお答えします。