0

ある国のサッカークラブ用のテーブルがあります。フィールドは「teamName」、「playerName」、および「country」です。

選手全員が外国人クラブを数えたい

. 次のクエリを試してみましたが、外国人が少なくとも 1 人いる場合はカウントされるようですが、チームのすべてのプレーヤーが外国人である場合はカウントしたいので、機能していないと思います。

SELECT COUNT(DISTINCT teamName)
FROM teams
WHERE country not like '%England%'

お知らせ下さい。ありがとう!

4

3 に答える 3

4

1つの方法は次のとおりです。

SELECT COUNT(DISTINCT teamName)
FROM teams T1
WHERE NOT EXISTS 
( select * from teams T2 
  WHERE T1.teamName=T2.teamName and T2.country like '%England%')
于 2013-06-17T17:39:33.893 に答える
0

うーん、結合でも内部クエリが必要なようです:

SELECT COUNT(*) 
FROM (
  SELECT teamName,
    SUM(country like '%England%') AS Locals
  FROM teams
  GROUP BY teamName
) AS t
WHERE Locals = 0;

より短い答えがあるはずのようですが...

于 2013-06-17T17:54:14.000 に答える