0

私は3つのテーブルを持っています:

store 
=====
   name
   address 
   city 
   state 
   country 
   tag ..., 

post
=======
    title
    summary 
    tags ...

store_post_map
================
(mapping on store and post based on tag).

city、、、またはstateでマッピング テーブル グループから投稿の数を取得したいのですが、PostgreSQL の SQL は何ですか?countrystore.id

4

1 に答える 1

0

基本的に、それはこれです:

SELECT store_id, count(*) AS posts_ct
FROM   store_post_map
GROUP  BY store_id;

各エリアに複数の店舗を置くことができる各都市、州、または国のカウントを取得するにはどうすればよいですか?

国ごとのカウント:

SELECT s.country, count(*) AS posts_ct
FROM   store          s
JOIN   store_post_map sp ON sp.store_id = s.id
GROUP  BY 1; -- positional parameter - is the same as GROUP BY s.country here

都市名はほとんど一意ではないため、1つあたりのカウントについては、さらにcity必要になる場合がありますGROUP BY areacountry好き:

SELECT s.city, s.area, s.country, count(*) AS posts_ct
FROM   store          s
JOIN   store_post_map sp ON sp.store_id = s.id
GROUP  BY 1, 2, 3;
于 2013-02-14T09:21:28.397 に答える