2

データセットをグループ化してカウントするクエリがいくつかあります。

  SELECT COUNT(*)
    FROM `table`
GROUP BY `column`

今、私は同じ行数を持っていcolumnます。これまでのところとても良いです。

問題は、これらの「グループ化された」カウントの集計 (最小/最大/平均/合計) 値を取得する方法です。サブクエリを使用するのが最も簡単ですが、この単一のクエリ内でこれが可能かどうか疑問に思っていました

4

3 に答える 3

1

For minand maxyou can ORDER BYand fetch the first row. sum/ /other 集計の場合avgは、サブクエリが必要です。

于 2009-08-26T21:38:26.380 に答える
0

MySQLでは、これを一度に実行できるはずです。私のテストは、これが機能することを示しているようです。

| date       | hits |
|-------------------|
| 2009-10-10 |    3 |
| 2009-10-10 |    6 |
| 2009-10-10 |    1 |
| 2009-10-10 |    3 |
| 2009-10-11 |   12 |
| 2009-10-11 |    4 |
| 2009-10-11 |    8 |
 -------------------

SELECT COUNT(*), MAX(hits), SUM(hits) FROM table GROUP BY date

| COUNT(*)  | MAX(hits) |
|-----------|-----------|
|        4  |         6 |
|        3  |        12 |
 -----------------------

SUM、MIN、AVGも機能します。これはあなたが探しているものですか?

于 2009-08-27T02:09:37.870 に答える
0
| date       | hits |
|-------------------|
| 2009-10-10 |    3 |
| 2009-10-10 |    6 |
| 2009-10-10 |    1 |
| 2009-10-10 |    3 |
| 2009-10-11 |   12 |
| 2009-10-11 |    4 |
| 2009-10-11 |    8 |

Knittl は次のようなことをしようとしていたと思います。

select min(hits), max(hits), avg(hits), sum(hits)<br>
from table
group by date
于 2011-05-05T12:23:21.127 に答える