MySQL のテーブルの場合、2 つの列があります
col1 col2
1 4.5
1 4.8
1 4.4
1 3.9
1 7.6
1 4.5
2 2.9
2 4.8
2 5.6
2 4.5
3 8.9
3 9.7
3 7.8
3 8.2
3 4.3
私がやりたいことは
- col1 の異なる値に対して col2 の平均値を計算します。これは簡単です
SELECT col1、AVG(col2) FROM mytable GROUP BY col1
1 4.95
2 4.45
3 7.78
2. col1 が col1-1 に等しい場合、その col2 値が col2 値の平均より小さい場合、レコードを選択します。私はこの部分を理解できませんでした:
SELECT col1,col2 FROM mytable WHERE col2<AVG(col2 where col1= current col1-1)
結果セットは次のようになります。
2 2.9
2 4.8
2 4.5
3 4.3
col1=0 のレコードがないため、col1=1 のレコードはありません。