私は、 'place'、 'user'、 'bytes'の3つのフィールドを持つ単純なテーブルを持っているとします。あるフィルタでは、「場所」と各「場所」でグループ化して、その場所のすべてのバイトを合計し、その場所のユーザーをランダムに選択したいとします。 'where'フィルタと関連する 'place')。SQL random aggregate
SELECT place, SUM(bytes), SELECT_AT_RANDOM(user) WHERE .... GROUP BY place;
を...しかし、私はそのような集約関数を見つけることができませんでした:集約関数「からランダムに選択」があった場合、私はどうなります。何か不足していますか?これを達成するには何が良い方法でしょうか?
これはどのRDBMSですか? –
私はそのような機能を持つ個々のRDBMSを認識していません。ほとんどの場合、同じ結果を得るために他のメカニズムを使用する必要があります。*各ユーザーにランダムな番号を割り当てた後、最高の値を持つユーザーを選ぶなど)*ただし、それぞれの機能は異なり、それぞれが異なる動作をします。だから、これは本当にRDBMS固有の質問です。 – MatBailie
MySQLを使用している場合は、誤った 'GROUP BY'を書いてください(例えば、ユーザに集計を適用しないでください)、ランダムに行を選択します。 –