X個グループからY個ずつデータを抽出したいSQL文は教えていただきたいです。
例:グループの数は100ぐらいがあって、グループごとのレコード数はそれぞれであり、毎回そのうちのX(例3)グループずつにデータを抽出します。そして1つのグループから最大Y個(例2)のデータを抽出します。
抽出したデータにフラグを立てて、次の抽出時に除外の条件として使います。
例:以下のテーブルがあって、毎回3グループから2個のデータを抽出します:
group name flag
1_group 田中A 0
1_group 佐藤A 0
1_group 林A 0
1_group 鈴木A 0
1_group 牧野A 0
2_group 平田B 0
2_group 小林B 0
・・・
3_group 高橋C 0
3_group 丹羽C 0
3_group 田中C 0
3_group 佐藤C 0
3_group 鈴木C 0
3_group 吉田C 0
・・・
4_group 高橋D 0
4_group 丹羽D 0
4_group 田中D 0
4_group 佐藤D 0
4_group 鈴木D 0
・・・
①1回目の抽出の結果
group name flag
1_group 田中A 0
1_group 佐藤A 0
2_group 平田B 0
2_group 小林B 0
3_group 高橋C 0
3_group 丹羽C 0
②2回目の抽出の結果
group name flag
1_group 林A 0
1_group 鈴木A 0
3_group 田中C 0
3_group 佐藤C 0
4_group 高橋D 0
4_group 丹羽D 0
③3回目の抽出の結果
group name flag
1_group 牧野A 0
3_group 鈴木C 0
3_group 吉田C 0
4_group 田中D 0
4_group 佐藤D 0
DBはSqlLiteです。
長いですが、ご教授頂ければ、ありがたいです
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/25 09:16
2018/01/25 09:41
2018/01/25 09:46