私のMySqlデータベースのデータを使用してMorrisチャートのデータ配列を入力しようとしています。値の種類ごとに合計とグループを選択してください
合計、データや種類によってグループ化:
ID Value Kind Date
1 200 L 2016-01-01
2 250 B 2016-01-01
3 250 L 2016-01-01
4 200 B 2016-02-01
5 250 B 2016-02-01
6 200 L 2016-02-01
が、私はこのように私に出力を与えるクエリをしたい:
は、私はこのようなテーブル「buchungen」を持っています。 450、2月のLと250 B
:450 Bと200 L
必要な構造:私のクエリで
[{"m":"1","a":"450","b":"250},{"m":"2","a":"200","b":"450}]
:
SELECT MONTH(date) AS m, SUM(value) AS a
FROM `buchungen`
WHERE YEAR(date) = YEAR(CURDATE())
GROUP BY MONTH(date)
月の
私は以下の構造を得ます:
[{"m":"4","a":"476852.64"},{"m":"5","a":"851866.74"}]
私は「kind」フィールドをどのように考慮するか分からないという問題があります。これどうやってするの?
ありがとうございます!
を一口のビットは、私がWHERE日付 '推測しますがCONCAT(YEAR(CURDATE())、 ' - 01-01')とCONCAT(YEAR(CURDATE())、 '-12-31') 'はより速くなります – Strawberry
これはうまくいきます。ありがとう! 「空の」月の値を出力する方法もありますか? 1月に出力された1月の 'buchungen'に何もなかった場合、0、b 0? –
@FlorianSauerweinこれにはカレンダーテーブルを使用する必要があります。 –