2011-09-14 10 views

答えて

1

このような何か:

SELECT a.name, COUNT(DISTINCT b.city_id) 
FROM Cities a JOIN Members b 
ON b.city_id = a.id 
GROUP BY b.city_id 
+0

COUNT機能にDISTINCTを付けずに作業しました。 –

+0

COUNT(DISTINCT b.id) – symcbean

+0

する必要があります。 'posts'という名前の別のテーブルがあり、 'city_id'属性がある場合、同じ結果が得られ、各都市の投稿数を追加できますか? CITY_NAME、MEMBERS_COUNT、posts_count NEWYORK、15、20 ロサンゼルス、12、30 –

1
SELECT 
     c.name AS city_name, 
     COUNT(m.id) AS counter 
    FROM Members m 
    JOIN Cities c ON m.city_id = c.id 
+0

私はちょうど_rollback_ :)を作成しました。 – Marco

0
select 
    cities.name as city_name, 
    count(cities.id) as counter 
from 
    members inner join cities 
on 
    members.city_id = cities.city.id 
0

のを試してみてください。この

SELECT c.name city_name, COUNT(m.id) counter 
FROM Cities c INNER JOIN Members m 
ON c.id = m.city_id 
GROUP BY c.name 
0

をお試しください次のようなもの:

select city.name, count(member.id) 
from city 
inner join members 
on city.id = members.city_id 
group by city.name 

希望するものがあります。

+0

INNER JOINではメンバーが0の都市は表示されません。したがって、ユーザーがゼロを持つ都市を表示する必要がある場合は、LEFT JOINを代わりに使用する必要があります。 – EtherDragon

関連する問題