MySQL のフィルタリングのタイミングは、集計関数で使用される where 条件と having 条件です。 集約前のフィルタ クエリに集計関数とwhere条件が含まれている場合、例えば 集約後にフィルターを適用する Having はグループ化時にグループ化結果をフィルタリングするために使用され、通常は集計関数が含まれます。 appからip,MAX(id)を選択 ipでグループ化 MAX(id)>=5 を持つ まずグループ化し、次に集計し、集計結果が5以上になる結果セットをフィルタリングします。 両者の違い: 最初にが実行され、次に集計関数が実行されます。集計関数が実行された後に、Having が実行されます。 以下は補足です テーブルにはステータス フィールド (1: 成功、2: 失敗など) が必要です。ここで、日付のグループ化を使用して、さまざまな状態にあるアイテムの数をカウントする必要があります。 まずサブクエリを書く aa.logDate、aa.totalLogs を選択 、(dxp.dxp_handlermodel から count(1) を選択、aa.logDate=DATE_FORMAT( startTime, '%Y-%m-%d')、executeStatus=1) pendingLogs 、(dxp.dxp_handlermodel から count(1) を選択、aa.logDate=DATE_FORMAT( startTime, '%Y-%m-%d')、executeStatus=2) successLogs 、(dxp.dxp_handlermodel から count(1) を選択、aa.logDate=DATE_FORMAT( startTime, '%Y-%m-%d')、executeStatus=3) errorLogs 、(dxp.dxp_handlermodel から count(1) を選択、aa.logDate=DATE_FORMAT( startTime, '%Y-%m-%d')、executeStatus=4) callbackErrorLogs から ( 選択 DATE_FORMAT( a.startTime, '%Y-%m-%d') ログ日付、 count(1) 合計ログ dxp.dxp_handlermodel から DATE_FORMAT( a.startTime, '%Y-%m-%d') でグループ化 ) 実行が非常に遅いので、カウントする条件を追加できるかどうか疑問に思い、次のことがわかりました。 選択 DATE_FORMAT(開始時刻、'%Y-%m-%d') ログ日付、 count(1) 合計ログ、 count(if(executeStatus=1,true,null)) 保留中のログ、 count(if(executeStatus=2,true,null)) 成功ログ、 count(if(executeStatus=3,true,null)) エラーログ、 count(if(executeStatus=4,true,null)) コールバックエラーログ dxp.dxp_handlermodel から DATE_FORMAT( startTime, '%Y-%m-%d') でグループ化 理解しやすく、実行効率が高い SUMやその他の集計関数などの他の集計関数も使用できます。 実例: profile_visit_log から count(if(create_date < '2017-01-01' かつ host_profile_id = '9294d2bf-f457-4fe5-9a36-e5f832310dc2',true,null)) を選択 -- select count(if(create_date < '2017-01-01',true,null)) count from profile_visit_log where host_profile_id = '9294d2bf-f457-4fe5-9a36-e5f832310dc2' と同等 さて、この記事はこれで終わりです。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue ルーターにパラメータを渡すときにページを更新するとパラメータが失われる問題に対処する方法
テーブルデータを作成する テーブル `praise_info` を作成します ( `id` bigi...
この記事の例では、テーブルを動的に生成するjsの具体的なコードを参考までに共有しています。具体的な内...
目次MySQLマスタースレーブの基本原理3つのbinlog形式の比較混合形式のバイナリログが存在する...
許可ベースの電子メール マーケティングにより、マーケティングとプロモーションのコストを大幅に削減でき...
フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...
目次ステップ1: プロジェクトをインストールするディレクトリにnode_modulesをインストール...
序文誰もが日常業務で SQL の最適化を経験したことがあると思います。したがって、最適化の前に、遅い...
MySQL は次の 3 種類のコメントをサポートしています。 1. 行末の「#」文字から。 2. 「...
この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...
目次序文インタフェースタイプ付録: インターフェースとタイプの違い要約する序文インターフェースとタイ...
この記事では、Vueを使用して天気コンポーネントをロードする方法を参考までに紹介します。具体的な内容...
mysqladmin は管理と操作を行う公式の mysql クライアント プログラムです。MySQL...
macにbrewを使ってphp56をインストールしたところ、 opensslがバージョン1.1だった...
目次1. JDKをインストールする2. Jenkinsをインストールする3. Jenkinsの設定を...
この記事では、バウンドボールゲームを実装するためのjQueryの具体的なコードを参考までに共有します...