t_stats
列id (INT)
と列のあるテーブルがありますratio (DECIMAL(8,4))
。
id
ユニークです。
t_stats
同じAVG(ratio)
(可能な限り近い) 3つのグループを選択するためにテーブルをクエリしたいと思います。
スクリプトまたはストアドプロシージャとして実行できる限り、一時テーブルを使用して実行できます。
編集:具体的な例は次のとおりです。
入力:
id ratio
-- -----
24 0.930000
25 0.390000
26 0.800000
27 0.920000
28 0.550000
30 0.810000
31 0.770000
32 0.800000
33 0.590000
36 0.760000
37 0.910000
40 0.690000
43 0.390000
45 0.310000
46 0.760000
47 0.710000
54 0.710000
55 0.950000
57 0.920000
60 0.890000
62 0.700000
66 0.890000
68 0.950000
107 0.760000
559 0.990000
560 0.540000
565 0.430000
566 0.830000
568 0.590000
579 0.970000
599 0.900000
623 0.450000
749 0.800000
750 0.970000
753 0.820000
754 0.730000
766 0.620000
768 0.430000
770 0.790000
838 0.700000
875 0.835000
987 0.900000
988 0.740000
1157 0.850000
1250 0.630000
1328 0.860000
2171 0.900000
2176 0.520000
2177 0.980000
2178 0.940000
2180 0.970000
2184 0.990000
2187 0.950000
2188 0.940000
2189 0.920000
2195 0.990000
2233 0.900000
2234 0.940000
2235 0.950000
2240 0.980000
2243 0.920000
2253 0.900000
2266 0.530000
2269 0.920000
2270 0.970000
2271 0.750000
2272 0.820000
2275 0.910000
2277 0.930000
2281 0.690000
2282 0.710000
2288 0.840000
2528 0.870000
2778 0.950000
2814 0.990000
出力:
groupId id ratio
------- -- -----
1 24 0.930000
1 25 0.390000
1 27 0.920000
1 30 0.810000
1 32 0.800000
1 36 0.760000
1 54 0.710000
1 60 0.890000
1 559 0.990000
1 560 0.540000
1 566 0.830000
1 568 0.590000
1 623 0.450000
1 750 0.970000
1 838 0.700000
1 987 0.900000
1 1157 0.850000
1 2178 0.940000
1 2180 0.970000
1 2253 0.900000
1 2269 0.920000
1 2271 0.750000
1 2281 0.690000
1 2778 0.950000
1 2814 0.990000
2 26 0.800000
2 28 0.550000
2 31 0.770000
2 40 0.690000
2 45 0.310000
2 55 0.950000
2 57 0.920000
2 66 0.890000
2 107 0.760000
2 565 0.430000
2 579 0.970000
2 753 0.820000
2 754 0.730000
2 766 0.620000
2 875 0.835000
2 1328 0.860000
2 2176 0.520000
2 2177 0.980000
2 2184 0.990000
2 2187 0.950000
2 2189 0.920000
2 2233 0.900000
2 2234 0.940000
2 2275 0.910000
2 2282 0.710000
3 33 0.590000
3 37 0.910000
3 43 0.390000
3 46 0.760000
3 47 0.710000
3 62 0.700000
3 68 0.950000
3 599 0.900000
3 749 0.800000
3 768 0.430000
3 770 0.790000
3 988 0.740000
3 1250 0.630000
3 2171 0.900000
3 2188 0.940000
3 2195 0.990000
3 2235 0.950000
3 2240 0.980000
3 2243 0.920000
3 2266 0.530000
3 2270 0.970000
3 2272 0.820000
3 2277 0.930000
3 2288 0.840000
3 2528 0.870000
そこで、3つのグループのn
値を作成し、特定の平均値を目指しますx
。(例として、各グループが1つのグループにのみ属することができる30個の値の3つのグループのように見えます。n=30
)0.75 < x < 0.85
0.75 < AVG(ratio) < 0.85
id
したがって、平均は各グループでほぼ同じであり、次のようになりx
ます。
groupId avg(ratio)
------- ----------
1 0.805600
2 0.789000
3 0.797600