0

'music'データベースの一部であるreleasesというテーブルがあります。テーブルは2つの列で構成されています。cd_idband_id

band_id2つ以上が1つの値に関連付けられている、cd_idと各cdに関連するバンドの数をリストしたいと思いcd_idます。

これを表現するのを手伝ってくれませんか。前もって感謝します。

4

2 に答える 2

1

これは句COUNT()を含む集計です。HAVING

SELECT
  cd_id,
  count(*) AS numbands
FROM releases
GROUP BY cd_id
HAVING numbands >= 2

COUNT(*)組み合わせてperGROUP BY cd_idの数を返し、これらを 2+ のリリースに限定するために、句を指定します(count 値に指定されたエイリアス) 。band_idcd_idband_idHAVINGnumbands>= 2

これは、それぞれband_idが ごとに 1 回だけリストされていることを前提としていcd_idます。そうでない場合、CD ごとに一意のバンドを取得するには、次を使用します。

COUNT(DISTINCT band_id) AS numbands

の代わりにCOUNT(*) AS numbands

于 2012-04-15T19:22:59.813 に答える
1

リリースが CD_ID に対して同じバン​​ドを 2 回リストしていないと仮定します。

select CD_ID, count(*) 
from releases 
GROUP BY CD_ID
HAVING count(*) > 1
于 2012-04-15T19:23:18.393 に答える