sql >> データベース >  >> RDS >> Mysql

合計、平均、最大、最小、NULL値の数

    これは良い質問であり、良い答えがない質問です。 NULLの扱い 2つの例では異なります。

    基本的な問題は、NULLが何であるかです。 意味。一般的に、これは欠落を示すために使用されます 値。ただし、ANSI規格では、不明を表します。 価値。哲学者は、「行方不明」と「不明」の違いに焦点を当てることができると確信しています。

    単純な式(ブール値、算術演算、または別の種類のスカラー)では、ANSIは、オペランドのいずれかが「不明」であるほとんどすべての場合に「不明」の結果を定義します。いくつかの例外があります:NULL AND FALSE はfalseで、NULL IS NULL 本当ですが、これらはまれです。

    集計操作については、SUM()を考えてください。 「すべての既知の値を合計する」など。 SUM() NULLを扱います +とは異なる値 。ただし、この動作も標準であるため、すべてのデータベースが機能します。

    NULLが必要な場合 anyの場合の集計の値 そのオペランドのNULL 、次にCASEを使用する必要があります 。単一の列を作成する最も簡単な方法は次のとおりです。

    (CASE WHEN COUNT(col) = COUNT(*) THEN SUM(COL) END)
    


    1. Ionicフレームワークとphpmysql

    2. RubyonRailsをリモートのmysqlデータベースに接続できません

    3. PHPとRegExを使用して、サイトのソースコードからすべてのオプション値をフェッチする

    4. 2つの列に基づくランク