1

私は実際に MySQL で問題に直面しています。GROUP BY と同様の動作が必要ですが、グループ化は必要ありません。

以下は、「name」、「city」の 2 つの列を持つ「resident」という名前の 1 つのテーブルの例です。

各都市の居住者数を数えたい場合は、次のようにするだけです。

SELECT resident.city, count(resident.name) as 'Nb residents'
FROM resident
GROUP BY resident.city

したがって、結果は次のようになります。

| city | Nb residents |
| NY   |       3      |
| HK   |       1      |
| Rome |       2      |
...

しかし、私はそのような結果を表示する方法を探しています:

|   name   |  city  |  Nb residents |
| Name1    | NY     |       3       |
| Name2    | NY     |       3       |
| Name3    | NY     |       3       |
| Name4    | HK     |       1       |
| Name5    | Rome   |       2       |
| Name6    | Rome   |       2       |

それは可能ですか?

ご協力いただきありがとうございます。

4

2 に答える 2

3
SELECT resident.name, resident.city, (select count(a.name) from resident a where a.city = resident.city) as 'Nb residents'
FROM resident
于 2013-05-20T12:55:59.813 に答える