• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLでのCOUNT関数の使い方)

SQLでのCOUNT関数の使い方

このQ&Aのポイント
  • SQLでのCOUNT関数を使用して表の行数を取得する方法が知りたいです。
  • COUNT関数を使用するにはGROUP BY句とHAVING句を扱う必要がありますが、SELECT句にすべての列名を含める必要があるため、思ったように結果が得られません。
  • また、表に空行を追加する方法もわかりません。具体的なSQLのコードやアドバイスがあれば教えてください。

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

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

行数が6の倍数でなかったら、最大の商品IDの続きでダミー行を補う、というクエリのサンプルは以下のようになります。 何もないところから行は生み出せないので、5行の空行を生成し、余りに応じて使います。 必要な情報は入っていると思いますので、中身をみてください。 SELECT a.商品ID,a.数量,a.価格,b.商品名 FROM 表A a,表B b WHERE a.商品ID=b.商品ID UNION ALL SELECT RIGHT('0000'+CONVERT(varchar,(CONVERT(int,c.MAXID)+t.SEQ)),4) 商品ID, 数量,価格,商品名 FROM (SELECT 1 SEQ,NULL 数量,NULL 価格,NULL 商品名 UNION ALL SELECT 2, NULL,NULL,NULL UNION ALL SELECT 3, NULL,NULL,NULL UNION ALL SELECT 4, NULL,NULL,NULL UNION ALL SELECT 5, NULL,NULL,NULL) t, (SELECT COUNT(*)%6 PAGEROW, ISNULL(MAX(a.商品ID),'0000') MAXID FROM 表A a,表B b WHERE a.商品ID=b.商品ID) c WHERE t.SEQ<=(6-PAGEROW) AND c.PAGEROW<>0

ikarin_rag
質問者

お礼

返事が遅れてしまい、大変申し訳ございませんでした。 まだ、SQLについて素人同然で、見たことの無い関数が多くなんとか理解することが出来ました。 本当にありがとうございました。

関連するQ&A