2016-04-06 2 views
2

は、それが部分的にロールアップをサポートしてこう述べています。MySQLは部分的なロールアップをOracleのようにサポートしていますか? Oracleのドキュメントとして

部分的なロールアップ は唯一のいくつかの小計のが含まれますようにあなたはまた、ロールアップすることができます。この部分ロールアップでは、次の構文を使用します。

GROUP BY expr1、ROLLUP(expr2、expr3);

この場合、GROUP BY句は(2 + 1 = 3)集約レベルで小計を作成します。すなわち、レベル(expr1、expr2、expr3)、(expr1、expr2)、(expr1)である。

http://docs.oracle.com/cd/E11882_01/server.112/e25554/aggreg.htm#DWHSG8612

MySQLはこれをサポートしていますか?

私はMySQLのdocで検索しようとしましたが、手がかりを見つけることができません。

答えて

1

with rollup clauseのMysqlのドキュメントは非常に明確です。ロールアップ句に列のリストを指定して、要約を実行するレベルを指定することはできません。

サブクエリでrollup句を使用してクエリを実行し、外側のクエリで不要な集計行を削除できます(またはクライアントアプリケーションで実行できます)。スーパー集計行のNULL値は クエリ処理中に、このような遅い段階で結果セットに配置されているので、あなたが

以来、having句でこれを行うことができない、あなたはありません は彼らのようにNULL値をテストすることができますクエリ自体の中で。たとえば、 は、 出力から除外するためにHAVINGプロダクトIS NULLをクエリに追加することはできません。

一方、ヌル値はクライアントの 側でNULLとして表示され、MySQLクライアントプログラミングの インターフェイスを使用してNULL値がテストされます。

関連する問題