2

多くの行があるデータベースがあり、たとえば10行を連続して集計し、1列の平均を計算したいと思います。したがって、行1から10は平均値番号になります。1つ目は、11行目から20行目が平均値です。2つなど。

これはMySqlで実行できますか?

4

2 に答える 2

2

GROUP BY FLOOR(something/10)10行ごとにグループ化する必要があります。これには、ギャップのないプライマリ自動インクリメントキーが最適です。

SELECT FLOOR(something/10) as start_id, AVG(yourAmount)
FROM yourTable
GROUP BY FLOOR(something/10)
于 2012-05-15T08:51:14.987 に答える
0

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ではとにかく機能します。

于 2012-05-16T00:18:46.043 に答える