5
の場合、私はかなりの列は次のようになり、テーブル「注文」があります。範囲でMySQLのクエリの場合に、通貨
| order_id | shop_id | order_total | currency | created_at |
今私は、クエリを作りたい、のように見えるテーブルを返します。この:間隔は、日付の間隔で
| interval | currency | sum |
、通貨は通貨と合計がその通貨の間隔ですべての注文の合計で、です。 SAの例は次のようになります。
| 2012-08-12-2012-09-12 | EUR | 540922 |
| 2012-08-12-2012-09-12 | DKK | 43215 |
| 2012-09-12-2012-10-12 | EUR | 123643 |
| 2012-09-12-2012-10-12 | DKK | 0 |
私はすでに通貨をdiregardsクエリを持っていますが、私は任意のアイデア...それは考慮に通貨を取るようにする方法を知りませんか?
Heresは私が今使っているクエリの例です。もちろん、実際のクエリはコードによって生成されますが、これは単なる例です。
SELECT CASE
WHEN created_at BETWEEN '2012-08-12' AND '2012-09-12' THEN '2012-08-12-2012-09-12'
WHEN created_at BETWEEN '2012-09-12' AND '2012-10-12' THEN '2012-09-12-2012-10-12'
WHEN created_at BETWEEN '2012-10-12' AND '2012-10-14' THEN '2012-10-12-2012-10-14'
end AS intrvl,
Sum(order_total)
FROM `order` o
WHERE shop_id = 4
AND created_at BETWEEN '2012-08-12' AND '2012-11-17'
GROUP BY CASE
WHEN created_at BETWEEN '2012-08-12' AND '2012-09-12' THEN '2012-08-12-2012-09-12'
WHEN created_at BETWEEN '2012-09-12' AND '2012-10-12' THEN '2012-09-12-2012-10-12'
WHEN created_at BETWEEN '2012-10-12' AND '2012-10-14' THEN '2012-10-12-2012-10-14'
end
/モルテン
さてさて、働くことによってあなたの選択およびグループに通貨を追加しますが、それは外のすべての注文をカウントされるため、今私は、間隔としてnullを持つ2つの行を取得間隔を設定し、その間隔をnullに設定します。クエリから除外する方法はありますか? –
where句にcreated_atの範囲が正しく設定されていることを確認してください。2012-08-12から2012-11-17ですが、クエリでは2012-08-12から2012-10-14の範囲しか検索されません –