Railsでグラフを作成しようとしています。たとえば、特定の日付範囲の毎日の1日あたりの平均売上高です
「sales_price」float属性を持つproducts_soldモデルがあるとします。しかし、特定の日に売上がない場合 (たとえば、モデル/データベースに何もない)、単純に 0 を返したいと思います。
これを行うための MySQL/Rails での最善の方法は何ですか? 私はこのようなことができることを知っています:
(このSQLクエリは、私が望んでいるものを取得するための完全に間違った方法かもしれません)
SELECT avg(sales_price) AS avg, DATE_FORMAT(created_at, '%m-%d-%Y') AS date
FROM products_sold WHERE merchant_id = 1 GROUP BY date;
次のような結果が得られます。
| | 平均 | 日付 | 23 01-03-2009 50 2009 年 1 月 5 日 34 01-07-2009 ... ... ...
私が取得したいのはこれです:
| | 平均 | 日付 | 23 01-03-2009 0 01-04-2009 50 2009 年 1 月 5 日 0 01-06-2009 34 01-07-2009 0 01-08-2009 ... ... ...
SQL でこれを行うことはできますか?それとも、結果を後処理して、日付範囲内のどの日付が SQL 結果セットにないかを見つける必要がありますか? おそらく、いくつかのサブセレクトまたは IF ステートメントが必要ですか?
助けてくれてありがとう。