SQL 文を使用してデータを収集する場合の sum 関数と count 関数の if 判定条件の使用法の説明

SQL 文を使用してデータを収集する場合の sum 関数と count 関数の if 判定条件の使用法の説明

まず、例を挙げてみましょう(読みたくない場合は、以下の要約だけ読んでください)。

order_type: 注文タイプ open_id: ユーザー固有識別子 SELECT
    date(create_time) AS '今日の日付'、
    sum(real_price) AS 'その日の総売上'、
sum 関数では、if 判定条件が使用されます。
和(
IF (注文タイプ = 0、実価格、0)
) 「収入をその日に支払う」
和(
IF (注文タイプ = 1、実価格、0)
)「その日の報酬収入」として、
}
    count(DISTINCT open_id) AS '有料顧客の総数'、
count 関数は if 条件を使用します。
カウント(
DISTINCT open_id、
IF (注文タイプ = 0, TRUE, NULL)
) AS '受取人数'、
カウント(
DISTINCT open_id、
IF (注文タイプ = 1、TRUE、NULL)
) 「報酬の数」として、
}
    count(id) AS '支払済み注文の合計数'、
count 関数は if 条件を使用します。
カウント(
異なるID、
IF (注文タイプ = 0, TRUE, NULL)
)AS '支払指示数'、
カウント(
異なるID、
IF (注文タイプ = 1、TRUE、NULL)
) AS '報酬注文数'
}
から
注文
どこ
'実価格' != 1
AND 'ステータス' != 0
日付によるグループ化(create_time)

クエリ結果: 報酬注文と支払い注文のデータ統計を区別するために、データをより明確にします。

まとめ:

sum関数のif判定条件の形式は、sum(if(条件, 列値, 0))です。

注: sum は合計関数です。条件が true の場合、列の値 (フィールド名) が合計、つまり累積されます。条件が false の場合、合計は 0 になります (もちろん、0 のままです)

1. 単一条件判定形式、sum(if(条件フィールド名 = 値, 合計するフィールド名, 0))

2. 複数条件判定形式、sum(if(条件フィールド名>値 AND 条件フィールド名>値 AND 条件フィールド名=値,1,0))

注: 複数条件判定形式の全体的な意味は、条件を満たすデータの合計数を計算することです。条件が満たされると、データの合計数が 1 増加します。つまり、1 は 1 の累積を意味します。

3. 一般的なケース when format, sum(case when condition field name in (smaller range value, larger range value) then [合計を計算するフィールド名] else 0 end)

count 関数で使用される if 条件付き書式は次のとおりです。

1. 合計数をカウントします。count(if(条件フィールド名 = 値, true, null))

2. 重複値の合計数をカウントします。count(カウントするDISTINCTフィールド名、if(条件フィールド名 = 値、true、null))

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MYSQL の SUM フィールドの条件付き統計を計算するために IF 関数 (case) を使用する際の問題
  • MySQL の count() と sum() の違いの詳細な紹介
  • MySQL sum(if()) と count(if()) の使用方法

<<:  Linux で PCIe のバージョンと速度を確認する方法

>>:  NodeJSのモジュール性に関する詳細な説明

推薦する

WeChatアプレットでラッキーホイールゲームを実装する方法

ここでは主に、WeChat アプレットでラッキーホイール ゲームを開発する方法を紹介します。主に J...

jsはシングルクリックでテーブルを変更することを実装します

Pure jsは、参照用にワンクリックで編集可能なテーブル(トランスクリプトに似たもの)を実装してい...

1 つの記事で Apache Avro データを解析する

概要: この記事では、Avro データをシリアル化して生成し、FlinkSQL を使用して解析する方...

データベース内のSQL整合性制約ステートメントの分析

整合性制約整合性制約はテーブル データの正確性を保つためのものです。データが正しくない場合は、そもそ...

Vueモバイル端末が指のスライド効果を実現

この記事の例では、Vueモバイル端末で指のスライド効果を実現するための具体的なコードを紹介します。具...

Linux での MySQL 5.6 バイナリのインストール プロセス

1.1 バイナリインストールパッケージをダウンロードするhttps://dev.mysql.com/...

jsでライトスイッチの効果を実現

この記事の例では、ライトスイッチ効果を実現するためのjsの具体的なコードを参考までに共有しています。...

jQuery Ajax チャットボットの実装事例

チャットボットは多くの手作業を省くことができ、顧客サービス、天気予報対応など、さまざまな状況で使用で...

MySQL 8.0.19 インストール詳細チュートリアル (Windows 64 ビット)

目次MySQLを初期化するMySQL サービスをインストール + MySQL サービスを開始MySQ...

IDEA が Docker を統合してリモート展開を実現するための手順

1. Dockerサーバーへのリモートアクセスを有効にするdocker が配置されているリモート サ...

CentOS7にsshをインストールして設定する

1. openssh-serverをインストールする yum インストール -y openssl o...

mysqlはルートユーザーと一般ユーザーを作成し、機能を変更および削除します。

方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> ...

Dockerイメージの読み込み原理

目次Docker イメージ鏡とは何ですか? Dockerイメージの読み込み原理コミットミラーDock...

ウェブページ読み込み時に左右にジャンプする原因の分析と解決

最近、ウェブサイトを設計するときにこの問題に遭遇しています。メンバーセンターを設計し、コンテンツを ...

MySQLはテーブルデータを復元するためにfrmファイルとibdファイルを使用します

目次frm ファイルと ibd ファイルの紹介frm ファイル回復テーブル構造ibd ファイル回復テ...