2016-04-11 8 views
0

など。 、私は最小のIDを持っている行を維持しながら、2に各クラスのサイズを制限するテーブルを選択したいSQLの各グループのサイズを制限する方法は?

(ID, TEXT, CLASS) 
(0L, "a b c d e spark", 1.0), 
(1L, "b d", 0.0), 
(2L, "spark f g h", 1.0), 
(3L, "hadoop mapreduce", 0.0), 
(3L, "hadoop mapreduce", 1.0), 
(4L, "b spark who", 1.0), 
(5L, "g d a y", 0.0), 
(6L, "spark fly", 1.0), 
(7L, "was mapreduce", 0.0), 
(8L, "e spark program", 1.0), 
(9L, "a e c l", 0.0), 
(10L, "spark compile", 1.0), 
(11L, "hadoop software", 0.0) 

行うことができますSQLコマンドがあります:私はこのようになりますテーブルを持っていますこの?

+3

どのdbmsを使用していますか? –

+0

これを解決するために試したことを私たちに示すことが重要です。また、期待される出力の視覚的な例は、必要なものが何であるかをより理解するのに役立ちます。 –

答えて

1

ANSI標準的な方法はrow_number()を使用することです:

select t.* 
from (select t.*, 
      row_number() over (partition by class order by id) as seqnum 
     from t 
    ) t 
where seqnum <= 2; 

ほとんど(すべてではない)のデータベースがこの機能をサポートしています。

関連する問題