MySQL(MariaDB)で特定の条件下に一致する場合の数を数える方法はありますでしょうか? 下記のコードは、わからないなりに自分で考えたSQL文です。 案の定、間違っていました(汗
MySQL(MariaDB)で特定の条件下に一致する場合の数を数える方法はありますでしょうか? 下記のコードは、わからないなりに自分で考えたSQL文です。 案の定、間違っていました(汗 `parea`が「MA,CMA,CS,CP,A,P,K」のときの数を数えたいだけなんですが、計算式のように変数を使ったりする方法があるのかすら分かりません。 お忙しい中と思いますが、ご教授頂けますでしょうか。 よろしくお願いいたします。 WITH AS `usg` AS ( SELECT *, 0 AS `cnt__` FROM テーブル名 GROUP by `_mid_` ) SELECT *, CASE `parea` WHEN 'MA' THEN `cnt__` + 1 ELSE `cnt__` WHEN 'CMA' THEN `cnt__` + 1 ELSE `cnt__` WHEN 'CS' THEN `cnt__` + 1 ELSE `cnt__` WHEN 'CP' THEN `cnt__` + 1 ELSE `cnt__` WHEN 'A' THEN `cnt__` + 1 ELSE `cnt__` WHEN 'P' THEN `cnt__` + 1 ELSE `cnt__` WHEN 'K' THEN `cnt__` + 1 ELSE `cnt__` END FROM `usg` ;
MySQL・23閲覧・250
1人が共感しています
ベストアンサー
select count(*) from テーブル名 where parea in('MA','CMA','CS','CP','A','P','K') です。
この返信は削除されました
質問者からのお礼コメント
お早くご回答いただきありがとうございました。 「WHERE IN」なんてものがあることを今回はじめて知りました。
お礼日時:6/17 10:03