0

パーティション化されたテーブルでクエリを実行する必要があり、次のようにパーティションごとの結果が必要です。

partition     result     count
----------- ----------   ------
    p1        apples      2
    p1        oranges     3
    p2        apples      10
    p2        oranges     15

オンラインの公式MySQLドキュメントから、5.6以降があれば、PARTITION句を使用してデータの取得先を指定できますが、現在は5.1.63のままです。テーブルのパーティションスキームに関係なく、これを行う簡単な方法はありますか?

4

1 に答える 1

2

MySQL5.1ではできないと思います。

ただし、これを回避することはできます。パーティション定義が何であれ、条件と同じようにカウントに追加できます。

たとえば、ID列の範囲パーティションであり、p1がID <10000、p2 ID <20000の場合、

SELECT result, partition, count(ID)
FROM
(
    SELECT result, ID,
      case when ID < 10000 then p1
           when ID < 20000 then p2
      .....
      end as partition

    FROM
      table
) s1
GROUP BY partition, result
于 2013-02-20T00:46:06.367 に答える