0

私はたくさん検索しましたが、答えやそれに近いものを見つけることができません。

次のようなテーブルがあります。

id              int(11) NO  PRI     auto_increment
attribute_id    int(11) YES         
user_id         int(11) YES         
result          int(11) YES             
x10             int(11) YES 

それぞれから約5つの結果が必要ですattribute_id

attribute_id任意の数になる可能性があるため、最初に を確認する必要がありattribute_id、次に各 attribute_id の結果を確認する必要があります。

MySQL 以外のプログラミング言語なしでこれを行う方法を見つけることはできませんが、できることはわかっています。

例:

attribute_id    result
1               200
1               149
1               123
2               322
2               321
2               300
3               ...
3               ...

等々。

4

2 に答える 2

1
SELECT  attribute_id, result
FROM    TableName a
WHERE 
        (
            SELECT  COUNT(*) 
            FROM    TableName b
            WHERE   a.attribute_id = b.attribute_id 
                    AND a.result <= b.result
        ) <= 5
于 2013-04-29T11:07:34.007 に答える