を持つ仮想サブクエリフィールド(別のSUMを使用)上のMySQL SUM 請求書およびの項目があります。GROUP BY
書
id | timest
アイテム
id | invoice_id | price | qty
請求書が複数の項目を有していてもよいが明らかである - items.invoice_id = invoices.id。
私は彼らの項目の合計ですべての請求書を選択し、次の問合せをしている:今、私はまでの期間でグループそれにしたい
id| _period | total
-------------------
1 | 2014-06 | 100
4 | 2014-06 | 200
5 | 2014-07 | 660
6 | 2014-07 | 300
7 | 2014-07 | 30
9 | 2015-02 | 225
:
SELECT id, DATE_FORMAT(FROM_UNIXTIME(inv.time), "%Y-%m") AS _period,
(SELECT SUM(it.price*it.quantity) FROM items AS it WHERE it.invoice_id=inv.id) as total
FROM `invoices` `inv`
これは、のようなものを生成
_period | qty | total_price
---------------------------
2014-06 | 2 | 300
2014-07 | 3 | 990
2015-02 | 1 | 224
として数量欄で簡単にできます
SELECT DATE_FORMAT(FROM_UNIXTIME(inv.time), "%Y-%m") AS _period,
COUNT(inv.id) as qty
FROM `invoices` `inv`
GROUP BY _period
しかし、サブクエリ仮想フィールドの結果であるtotal_priceフィールドでも同様のことが実行される可能性はありますか?誰にも分かりますか?
ありがとうございました!あなたがLEFT JOIN
とGROUP BY
を使用して、これを行う必要があります
ありがとうございました!これは完璧に機能しました! –