• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2010のSQLを使ったレコードカウント方法)

VB2010のSQLを使ったレコードカウント方法

このQ&Aのポイント
  • VB2010にて他のシステムから出力したCSVファイルにアクセスして集計を行おうとしています。
  • 重複を排除したカウントを得たいのですがうまくいきません。
  • SQLの書き方に問題があるようですが、具体的なエラーメッセージが表示されていません。

質問者が選んだベストアンサー

  • ベストアンサー
  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.4

NO2です 間違いがありました。 --- SELECT COUNT(物品ID) as 物品数 FROM (SELECT DISTINCT 物品ID FROM テーブル名) GROUP BY 物品ID

Alshark
質問者

お礼

細かな回答ありがとうございます。 大変分かりやすかったです。

その他の回答 (3)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.3

物品IDの種類の数ということですよね。 DBMSによっては(2)の書き方でも大丈夫なのですが、 ダメなのであれば(1)の結果をカウントすればいいと思います。 SELECT COUNT(*) AS 物品数 FROM (SELECT DISTINCT 物品ID FROM ・・・) としたらどうでしょうか。

Alshark
質問者

お礼

>>DBMSによっては(2)の書き方でも大丈夫なのですが、 ネット・書籍を調べるとそうみたいですが、今回はダメなようです。 最近サブクエリを覚えたばかりなので中々難しいですね。 その分面白くもあるんですけどね(笑) ありがとうございます。

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

物品IDが重複しているということなら まず重複をなくしてから集約すればOK SELECT DISTINCT 物品ID AS 物品数 FROM テーブル名 これをテーブルとして SELECT COUNT(物品ID) as 件数 FROM (SELECT DISTINCT 物品ID AS 物品数 FROM テーブル名) GROUP BY 物品ID

Alshark
質問者

お礼

なるほど!! サブクエリを使ったらいいんですね。 参考になりました。

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.1

物品ID単位の件数と言う事であれば、こうなると思います。 ↓ SQL = "SELECT 物品ID, COUNT(物品ID) AS 物品数 FROM CSV名 GROUP BY 物品ID"

Alshark
質問者

お礼

ありがとうございます。 参考になりました。

関連するQ&A