• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:重複データをカウントするのに便利なSQL文)

重複データのまとめ方と重複数の取得方法【SQL】

Yune-Kichiの回答

回答No.1

GROUP BYでグルーピングしてCOUNTすればよいかと。

mmm5orz
質問者

お礼

ご回答ありがとうございます! group byですか、知りませんでした。 お教え頂きありがとうございます!

関連するQ&A

  • 結合したテーブルの特定カラムのカウントについて

    PHPを学習しており、MySQLでデータベースにPDOで接続をしています。 添付画像のようなチームのデータを管理するテーブル(teamテーブル)と メンバーのデータを管理するテーブル(memberテーブル)があり、 teamテーブルのkeywordカラムを検索条件にし、 keywordカラムの値が『keyword1』と一致するteamテーブルのレコードの teamcodeカラムの値と一致する値を持つ memberテーブルのレコード数をカウントして teamテーブルから『teamcode』、『teamname』、『teamkana』、『date』を取得し、memberテーブルでの『teamcode』の該当数を取得したいです。 OUTER JOINして、NULLIFやCOALESCEなどを使用して試してみたのですが、 構文の使い方が悪いのか、そもそも使うべきSQL文が違うのかわかりませんが、 添付画像の『teamcode』の値が『0004』のもののように memberテーブルに該当する値が存在しないものは NULLになってしまい、取得ができませんでした。 できればmemberテーブルに該当する値が存在しない場合は「0」として取得したいです。 このような場合、どのようなSQL文を記述したら良いのでしょうか? 少しややこしい内容ですので、説明が不足していたり、 説明が分かりづらいようであれば補足します。 ご回答、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 該当するSQL文を教えてください。

    該当するSQL文を教えてください。 SQL超初心者です。 指定した条件にマッチする「次のレコード」を取得(または表示)させるための SQL文を教えてください。

  • 不要なwhere文が混じった重複レコードのカウント

    下記のSQL文があります。 tableA内で、tableA.id(A.id)は重複があります。 tableA内でのtableA.id(A.id)の重複レコード数をcount関数などでSELECTしたいのですが、 下記SQL文からどのように付け加えたらいいのか、お分かりの方いますでしょうか? SELECT A.id as id, A.xxx as xx, A.yyy as yy, B.zzz as zz FROM tableA A, tableB B WHERE A.id = B.id AND A.xxx = x AND A.yyy = y なお、「A.yyy = y」という条件は、tableA.idの重複レコード数をカウントする上で必要な条件なのですが、 「A.xxx = x」という条件は、tableA.idの重複レコード数をカウントする上で、不要な条件です。 以上、よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • 期間の重複を調べるSQL文について・・・

    EVENT --+------------+------------+ id | start_date | end_date --+------------+------------+ 0 | 2007-06-01 | 2007-06-03 | --+------------+------------+ 1 | 2007-06-04 | 2007-04-06 | --+------------+------------+ 2 | 2007-06-02 | 2007-06-05 | ↑こんな感じでイベントを管理するテーブルがあります。 イベントの開催期間の重複を出力するSQL文を書きたいのですが、 何かいい案はありませんでしょうか??? 結果的には重複し合っているレコードのidを出力させたいです。 よろしくお願いします。

  • エクセルでの重複カウントについて

    添付のような表があります。 カラムAには、一部重複するデータが入力されています。 まずは重複を削除したカラムCを作成し、その後カラムDには重複していた数を入力したいのですが、どのような作業をしたら可能でしょうか? 結果のセルは同一シートでなくても構いません。

  • SQL文を教えてください。

    SQL文を教えてください。 グループ毎にレコード数をカウントして、レコード数が大きい順に並び替えたいです。 番号 枝番 金額 111 1 100 111 2 100 222 1 100 222 2 100 222 3 100 333 1 100 444 1 100 444 2 100 【答え】 番号 件数 222 3 111 2 444 2 333 1 のようにorder by で並べ替えたいです。 SQL一発でできませんか? SQLに詳しい方、ご教授ください。

  • SQL文について

    ACCESSのSQLについてなんですが・・・ MyQuery.SQL = "SELECT * FROM 納品書 WHERE 納品書.納品数 > 0;" などとやった場合、納品数が入っているレコードのみ抽出されると思いますが、 ヒットした件数を知りたいときには、MyRecSet.RecordCountで取得するのでしょうか? (DCNTは使えない) そのヒットした数だけループさせて処理する場合、どのようにするのが一般的でしょうか? (MOVENEXT等を使う?) SQL文で出来ることは、ACCESSの画面でのクエリー定義で出来るものでしょうか。 なんでもかんでも画面で定義する人と、ちょっとしたものでもSQLでガリガリ書く人といる みたいなので、そこらへんは各人の好みの問題なのかなあ、と思いまして・・・。

  • 指定した年月までのデータを取得するSQL文

    いつもお世話になっております。 今、指定した年月までのデータを取得するSQL文を考えています。 例:NENGETSU_DATEカラムがDATE型で、 データとして、2008/11/12と、2008/11/18と、2008/12/12が入っているとして、11月だけのデータを取得したい。(今回は、2008/11/12と、2008/11/18を取得) どのようなSQL文を書けばよろしいでしょうか。 よろしくお願いいたします。

  • 時間範囲が重複したレコードを返すSQL

    PostgreSQL(データベース)の カラムに指定した時間範囲が存在する場合、エラーとし 存在しない場合、INSERTしたいのですが、 どのようなSQLを書けば良いでしょうか? ◆カラム内容 開始時間 終了時間 12:00   14:00 14:00   19:00 という2つのレコードが格納されていた場合に、 以下のSELECT→INSERTという流れで考えています。 19:00から19:05はOKで、INSERT処理を行う 18:55から19:05はNGで、重複したレコードを返す 10:00から12:00はOKで、INSERT処理を行う 10:00から12:05はNGで、重複したレコードを返す

  • access・複数のテーブル・重複除外したデータ

    accessで複数のテーブルで重複しないレコードだけを抽出するSQL文を知りたいです。 フィールドは多数あり、「フィールドの内容が全て一致するレコード」以外のレコードを 重複しないレコードとして抽出したいと思っています。 テーブルは3つ以上ありますが、2つのテーブルで実行するSQL文でかまいません。