ここで商品テーブルを作成しました。その中のデータを見てみましょう。 mysql> 商品から * を選択します。 +----+------+-------+------------+-------------+-------------+ | id | s_id | b_id | goods_name | goods_price | goods_desc | +----+------+-------+------------+-------------+-------------+ | 1 | 1 | 5 | 本 | 22.35 | 本 | | 2 | 2 | 5 | ボール | 32.25 | ボール | | 3 | 3 | 5 | NULL | 3.23 | NULL | | 4 | 3 | 5 | macbook | 3.23 | 本 | | 5 | 3 | 5 | リストブック | 2.30 | 本 | | 6 | 1 | 1 | ナイスブック | 9999.00 | ナイスブック | | 7 | 2 | 3 | googlebook | 25.30 | 本 | +----+------+-------+------------+-------------+-------------+ 1. s_idでグループ化 mysql> *、group_concat(goods_name) goods_names、group_concat(goods_desc) goods_descs、group_concat(id) ids、group_concat(goods_price) goods_prices を goods グループから s_id で選択します。 +----+------+-------+------------+-------------+------------+------------------+---------------+--------+----------------+ | id | s_id | b_id | goods_name | goods_price | goods_desc | goods_names | goods_descs | ids | goods_prices | +----+------+-------+------------+-------------+------------+------------------+---------------+--------+----------------+ | 1 | 1 | 5 | 本 | 22.35 | 本 | 本、ナイスブック | 本、ナイスブック | 1,6 | 22.35,9999.00 | | 2 | 2 | 5 | ボール | 32.25 | ボール | ボール、googlebook | ボール、ブック | 2,7 | 32.25,25.30 | | 3 | 3 | 5 | NULL | 3.23 | NULL | macbook、リストブック | 本、ブック | 3、4、5 | 3.23、3.23、2.30 | +----+------+-------+------------+-------------+------------+------------------+---------------+--------+----------------+ ここでは 上記の単一フィールドによるグループ化は非常に単純で、同じ 2. s_id、goods_descフィールドでグループ化 分析: ここでグループをクエリすると、データは最初に s_id に従ってグループ化され、次に各グループのデータは goods_desc に従ってグループ化されます。 mysql> *、group_concat(goods_name)、goods_names、group_concat(goods_desc)、goods_descs、group_concat(id)、ids、group_concat(goods_price)、goods_prices を goods グループから s_id、goods_desc で選択します。 +----+------+-------+-------------+-------------+------------+------------------+-----------+------+--------------+ | id | s_id | b_id | goods_name | goods_price | goods_desc | goods_names | goods_descs | ids | goods_prices | +----+------+-------+-------------+-------------+------------+------------------+-----------+------+--------------+ | 1 | 1 | 5 | 本 | 22.35 | 本 | 本 | 本 | 1 | 22.35 | | 6 | 1 | 1 | nicebook | 9999.00 | nicebook | nicebook | nicebook | 6 | 9999.00 | | 2 | 2 | 5 | ボール | 32.25 | ボール | ボール | ボール | 2 | 32.25 | | 7 | 2 | 3 | googlebook | 25.30 | 本 | googlebook | 本 | 7 | 25.30 | | 3 | 3 | 5 | NULL | 3.23 | NULL | NULL | NULL | 3 | 3.23 | | 4 | 3 | 5 | macbook | 3.23 | ブック | macbook、リストブック | ブック、ブック | 4,5 | 3.23,2.30 | +----+------+-------+-------------+-------------+------------+------------------+-----------+------+--------------+ ここでのgoods_descsと上記のgoods_descsを比較すると明らかになります 次に、goods_priceでグループ化します。 mysql> *、group_concat(goods_name) goods_names、group_concat(goods_desc) goods_descs、group_concat(id) ids、group_concat(goods_price) goods_prices を goods グループから s_id、goods_desc、goods_price で選択します。 +----+------+-------+-------------+--------------+-------------+------------+-----------+--------------+ | id | s_id | b_id | goods_name | goods_price | goods_desc | goods_names | goods_descs | ids | goods_prices | +----+------+-------+-------------+--------------+-------------+------------+-----------+--------------+ | 1 | 1 | 5 | 本 | 22.35 | 本 | 本 | 本 | 1 | 22.35 | | 6 | 1 | 1 | nicebook | 9999.00 | nicebook | nicebook | nicebook | 6 | 9999.00 | | 2 | 2 | 5 | ボール | 32.25 | ボール | ボール | ボール | 2 | 32.25 | | 7 | 2 | 3 | googlebook | 25.30 | 本 | googlebook | 本 | 7 | 25.30 | | 3 | 3 | 5 | NULL | 3.23 | NULL | NULL | NULL | 3 | 3.23 | | 5 | 3 | 5 | リストブック | 2.30 | 本 | リストブック | 本 | 5 | 2.30 | | 4 | 3 | 5 | macbook | 3.23 | 本 | macbook | 本 | 4 | 3.23 | +----+------+-------+-------------+--------------+-------------+------------+-----------+--------------+ ここで、複数のフィールドをグループ化する場合、グループ化順序の後のフィールドは、前のフィールドの内容に従ってグループ化されることを理解するだけで十分です。 日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、MYSQL の GROUP BY グループ化を頻繁に使用します。たとえば、次のような構造を持つ学生のコース選択テーブルがあります。 テーブル: 科目 学期 出席者 --------------------------------- ITB001 1 ヨハネ ITB001 1 ボブ ITB001 1 ミッキー ITB001 2 ジェニー ITB001 2 ジェームズ MKB114 1 ヨハネ MKB114 1 エリカ 各コースに登録した学生の数をカウントし、次の SQL を適用します。 件名、件数を選択(*) Subject_Selection から 件名別にグループ化 以下の結果が得られます。
表には、5 人の学生が ITB001 を選択し、2 人の学生が MKB114 を選択したことが記録されています。 この結果の理由は次のとおりです。 GROUP BY X は、同じ X フィールド値を持つすべてのレコードを 1 つのグループにまとめることを意味します。 GROUP BY X, Yはどうでしょうか? GROUP BY X, Y は、同じ X フィールド値と Y フィールド値を持つすべてのレコードを 1 つのグループにまとめることを意味します。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Linux で複数のファイルの名前を一括で変更する方法
1. ディスクパーティション: 2. fdiskパーティションディスクが2 TB未満の場合はfdis...
最近、インターフェースを描画しているときに、インターフェースに垂直線を描画し、この垂直線の高さが親 ...
1. はじめに以前は、Python アプリケーションの作成を開始したい場合、最初のステップはマシンに...
ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくありま...
今日もとても実践的な事例です。名前を聞くだけで高度で難しそうですよね?今日はカルーセル画像の真髄を簡...
1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準要素の幅/高さ/パディング/マージンの...
UCenter Homeは、ComsenzがリリースしたSNSサイト構築システムです。最新バージョン...
この記事では、例を使用して、Mysql データベースの基本的な SQL ステートメントについて説明し...
準備のメリットPrepare SQL が生成される理由。まず、MySQL サーバー上で SQL を実...
作業開発プロセス中に、顧客の名前、携帯電話番号、ID カード、およびドキュメントの種類を動的に保存す...
Nginx グローバル変数Nginx には、$variable 名を通じて使用できるグローバル変数が...
目次序文ローリング原理成し遂げるソースコード参照する序文モバイル Web ページの日常的な開発では、...
実際のプロジェクト開発では、多数のクエリや挿入、特にマルチスレッド挿入など、データベースに大きな負荷...
クラスを見るとき、どのような情報を得たいですか?このクラスはどこで使用され、その機能は何ですか?この...
文法 背景: linear-gradient(direction,color-stop1,color...