プロが教えるわが家の防犯対策術!

いつもお世話になっております。

ID列をGROUP BYしてCOUNTしたいのですが
氏名列に入っている値がバラバラなので
GROUP BYで思う様に出来ない状態です。
条件から氏名列を外すと当然無効と言われます、
どのように回避すればうまく行くのでしょうか?

SELECT 氏名列,ID列,COUNT(カウント列)
FROM テーブルA WHERE ID列 IN (1,2,3)
GROUP BY ID列,氏名列

A 回答 (2件)

何か質問自体が矛盾しているような。



氏名を含めた詳細行に、ID単位のカウントを付けたい、
と言う事ならこんな感じです。

SELECT m.氏名列,m.ID列,g.cnt
FROM テーブルA m
LEFT JOIN
(SELECT ID列,COUNT(*) as cnt
FROM テーブルA WHERE ID列 IN (1,2,3)
GROUP BY ID列) g
ON m.ID列 = g.ID列

求めている答えと違う場合は、データの内容の例と
期待する結果の例を書いてください。
    • good
    • 0

ID列ごとのレコード件数を取得するだけなら、


以下でできると思いますが、いかがでしょうか?

SELECT ID列, COUNT(ID列)
FROM テーブルA WHERE ID列 IN (1,2,3)
GROUP BY ID列
    • good
    • 0

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

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

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