• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:総数とその条件に一致したデータ数を同時に知りたい)

SQLで総数と条件一致データ数を同時に知りたい方法

このQ&Aのポイント
  • SQLで総数と条件一致データ数を同時に知りたい方法について紹介します。
  • 特定の条件に一致したデータの総数と、その中で特定のフラグが1のデータ数を同時に取得する方法をお探しですね。
  • 通常、サブクエリを使用して条件一致データ数を取得すると、フラグの関係ない総数がわかりませんが、別の方法を紹介します。

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

  • ベストアンサー
回答No.1

SELECT count(*)as AllNum, sum(case flag when 1 then 1 else 0 end) as flagNum FROM info WHERE id = (サブクエリ); です。

ankodaisuki
質問者

お礼

ありがとうございます。 助かりました!

その他の回答 (1)

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

sumでやる方が常套のような気がしますcountでやる場合は、 条件外にNULLを返してやればよいです SELECT count(flag) flagAll ,count(if( flag = 1 AND id = (サブクエリ),1,NULL)) as flagNum FROM info sum(if(条件,1,0))なら条件に合致すると1なのでそれをsumすれば合致したの総和になります count(if(条件,1,NULL))ならcountはNULLをカウントしないので、条件外を除いた数を カウントします。条件に合致した場合の1はあまり意味はありません

ankodaisuki
質問者

お礼

ありがとうございます。 勉強になりました!

関連するQ&A