多くの行があるデータベースがあり、たとえば10行を連続して集計し、1列の平均を計算したいと思います。したがって、行1から10は平均値番号になります。1つ目は、11行目から20行目が平均値です。2つなど。
これはMySqlで実行できますか?
GROUP BY FLOOR(something/10)
10行ごとにグループ化する必要があります。これには、ギャップのないプライマリ自動インクリメントキーが最適です。
SELECT FLOOR(something/10) as start_id, AVG(yourAmount)
FROM yourTable
GROUP BY FLOOR(something/10)
1つの簡単なクエリでエイリアスとそれらによるグループ化/順序付けを使用して、順序付けの問題を解決することができました。
SELECT FLOOR(id/10) AS id_tmp, id AS sorter, AVG(col_1) AS col_1_avg
FROM my_table
GROUP BY id_tmp
ORDER BY sorter DESC
なぜこれが機能するのかわかりませんが、MySQL5.0ではとにかく機能します。