• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:行のカウントを2種類を1つの文で発行したい)

行のカウントを2種類を1つの文で発行したい

このQ&Aのポイント
  • idが1である全商品数と今月登録された商品の数を出力するために、2つのSQLを1つの文にまとめる方法について教えてください。
  • 商品が登録されているテーブルAにはid、name、dtの3つのカラムがあります。idには固有の番号が、nameには商品名が、dtには登録日付が入っています。今回の目的は、idが1である全商品数と今月登録された商品の数を1つのSQL文で取得することです。
  • 詳細な条件を満たすSQL文として、idが1である全商品数と今月登録された商品の数を1つのクエリで取得する方法を教えてください。

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

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

こんな感じですかね? //データ作成 create table tbl(id int,name varchar(10),dt datetime); insert into tbl values(1,'a','2014-04-01 08:00:00'),(1,'b','2014-04-02 08:00:00'),(1,'c','2014-04-03 08:00:00'),(1,'d','2014-05-01 08:00:00'),(2,'e','2014-04-04 08:00:00'),(2,'f','2014-05-02 08:00:00'); →idが1のデータは4つ、内3つのデータが2014年4月の日付 //集計・・・今日が2014年4月である前提でnow()を利用 select count(*) as c1 ,sum(dt between (@d:=date_format(now(),'%Y-%m-01 00:00:00')) and (@d+interval 1 month -interval 1 second)) as c2 from tbl where id=1; ※条件式をsumで集計すると件数がとれます (@d:=date_format(now(),'%Y-%m-01 00:00:00')) というのが、今月1日の、0時0分0秒で '2014-04-01 00:00:00' (@d+interval 1 month -interval 1 second)) というのが、今月1日の1ヶ月後の1秒前で'2014-04-30 23:59:59'

ap3824
質問者

お礼

こんにちは。 ご回答ありがとうございます。 フムフム… 条件式をsumで集計…!!! なるほどーなるほどーです、こういう風に使うんですね! こんな考え方ができちゃうなんてすごいですー^^@ ありがとうございます。 ひとつ賢くなれました!!!

関連するQ&A