プロが教える店舗&オフィスのセキュリティ対策術

1つのSQL文で件数とデータを取得したいのですが無理でしょうか?

イメージ図↓
SELECT カラム名,COUNT(*) FROM テーブル名;

COUNT  カラム名
-------------------
 3     データA
      データB
      データC

A 回答 (4件)

select count(*) over (), t.* from t

    • good
    • 4

やりたい事ってのはカラム内容毎の件数を表示したいんですよね?


その場合、やはりグループという概念が必要になります。

SELECT COUNT(カラム名), カラム名
FROM テーブル
GROUP BY カラム名

GROUP BYでカラム毎に件数を取ったりすることができます。
より深い条件を入れる場合はHAVING句を使用します。
(GROUP BYを使用する場合はWHEREではないです。)
例えば、グループごとに件数を求め、その件数が10件以上であった場合を出力したい時は、

SELECT COUNT(カラム名), カラム名
FROM テーブル
HAVING COUNT(カラム名)>10
GROUP BY カラム名
    • good
    • 1

グループ関数を使用し、グループすれば


その集計件数(カウント)を取得できます。

SELECT カラム名,COUNT(*) FROM テーブル名
group by カラム名;

group by は集計単位をすべて記述しないとえらーになります。
    • good
    • 1

SELECT カラム名, COUNT(*) FROM テーブル名 ORDER BY カラム名;



とすれば、

カラム名  COUNT(*)
----------------------
データA   3
データB   1
データC   5

のように各データの件数が取得できます。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A