对于 MySQL 中的表,我有两列
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. 如果 col2 值小于 col2 值的平均值,则选择该记录,其中 col1 等于 col1-1。我无法弄清楚这部分:
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 将没有记录