この記事では、例を使用して、MySQL で複数テーブルの関連統計を実装する方法について説明します。ご参考までに、詳細は以下の通りです。 必要: 各書籍の報酬額の統計、異なる時間の再チャージデータ統計、消費統計、 book テーブル、orders テーブル、reward_log テーブル、consume_log テーブルの 4 つのテーブルを設計し、book_id を通じて book テーブルに関連付けます。 質問: 2 つ以上のテーブルが関連付けられている場合、統計中にデータの重複が発生します。これを検出するにはサブクエリを使用する必要があります。サブクエリは 1 つのフィールドのみを照会できます。ここでは、CONCAT_WS 関数を使用して複数のフィールドを連結します。 成し遂げる: クエリコードは次のとおりです 選択 入札、 b.書籍名、 合計(IF(o.create_time > 0 &&o.create_time < 9999999999, o.price, 0))today_pay_money, 合計(IF(o.create_time > 0 &&o.create_time < 9999999999, 1, 0))今日の支払い番号、 sum( IF ( o.create_time > 999 && o.create_time < 9999, o.price, 0 ) ) yesterday_pay_money, 合計(IF(o.create_time>999&&o.create_time<9999,1,0))昨日の支払い回数、 sum(o.price) 合計支払金額、 合計(IF(o.create_time > 9999 &&o.create_time < 99999, 1, 0))合計支払回数、 ( SELECT SUM( total_score ) FROM book_reward_log WHERE book_id = b.id ) total_score, ( 選択 CONCAT_WS( ',', SUM( IF ( 作成時間 > 0 && 作成時間 < 998, スコア, 0 ) ), SUM( IF ( 作成時間 > 9999 && 作成時間 < 99998, スコア, 0 ) ), SUM( IF ( 作成時間 > 99999 && 作成時間 < 999998, スコア, 0 ) ) ) から 本の消費ログ どこ 書籍ID = b.id ) スコア から 本_本 b book_orders o を b.id = o.bid に左結合します グループ化 入札 クエリ結果 スコアはコンマで区切られた3つの消費数です パフォーマンス分析 MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: JavaScriptがDOMツリーの構築にどのように影響するかについて詳しく説明します。
>>: nginx を介して方向プロキシを実装するプロセスの図
1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...
JSXとは何かJSX は Javascript の構文拡張であり、JSX = Javascript ...
CSS を導入する方法には、インライン スタイル、内部スタイル シート、外部スタイル シートの 3 ...
目次序文ローカルストレージの使用シナリオ使用上の問題解決機能性有効期限を追加データ暗号化を追加する命...
1. 公式 Web サイトから MySQL 5.7 インストール パッケージ (mysql-5.7....
この記事では主に、次のように共有されるネイティブ JS 音楽プレーヤーのサンプル コードを紹介します...
目次負荷分散負荷分散分類1. DNS 負荷分散2. IP負荷分散3. リンク層の負荷分散4. ハイブ...
Linux は一般的にサーバーとして使用され、サーバーは一般的にコンピュータルーム内に置かれます。L...
この記事では、参考までに、計算機のWebバージョンを実装するためのJavaScriptの具体的なコー...
目次序文Zookeeper サービスのオープンを検出情報を入手する接続テスト接続先修理計画参照する序...
導入この記事は、 React + antdをベースにして、完全な全屏demoを紹介します。その理由は...
通常、Web サイトを構築する目的は、検索エンジンにインデックス登録してもらい、プロモーションを拡大...
日常業務において、フォームの検証は非常に一般的な設計要件です。ログイン ボックスや登録ボックス、アン...
この記事では、主に Vue バックグラウンド管理システムのページング機能の実装を紹介し、次のように共...
過去の Linux イメージに関する問題を修正従来の Linux イメージで作成された ECS クラ...