• ベストアンサー

DISTINCTでは無理でしょうか?

市区町村|コード| 杉並区 |22222| 杉並区 |22222| 杉並区 |77777| 豊島区 |88888| SQL文で、上記のデータから重複するコードは一つのカウントとしてまとめ、下記のように杉並区のデータを取得したいのですが、うまくいきません。どのように書けば良いでしょうか。 市区町村|CNT| 杉並区 |2 | 失敗SQL select DISTINCT 市区町村,コード, COUNT(*) as CNT from テーブル WHERE 市区町村 = '杉並区' GROUP BY 市区町村,コード

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

select 市区町村,count(distinct コード) as CNT from テーブル where 市区町村 = '杉並区' group by 市区町村; でどうでしょうか。 質問の際にはMySQLのバージョンを明記された方がいいですよ。

25taku
質問者

お礼

完璧です!ありがとうございました! 今後はバージョンも表記いたします。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

すみません#2ですが#1さんが正しい (#2で動作しますが、SQL的には無駄な表記になってます)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

こうじゃない? SELECT 市区町村, COUNT(DISTINCT 市区町村,コード) as CNT FROM テーブル WHERE 市区町村 = '杉並区' GROUP BY 市区町村

25taku
質問者

お礼

ご回答ありがとうございました!

関連するQ&A