私はこれらのデータをmysqlに持っています。データはMySQLクエリまたはJavaScriptを使用して最適化されます
| code | date | value |
| A | 2016-04-04 00:00:00 | 0.1 |
| B | 2016-04-04 00:00:02 | 0.5 |
| C | 2016-04-04 00:00:05 | 1 |
| A | 2016-04-04 00:11:00 | 0.2 |
| B | 2016-04-04 00:12:25 | 0.6 |
| C | 2016-04-04 00:15:30 | 0.4 |
と私は調整し、毎日とnodejs/expressjs を使用してJSONにデータを送信し、毎月、毎年合計します。
まず、このクエリを試してみます。
SELECT date, value FROM 'table'
WHERE code = 'A'
AND date >= '2016-04-05 00:00:00'
GROUP BY DATE_FORMAT(date, "%y-%m-%d-%H") // or "%y-%m-%d", "%y-%m"
ORDER BY date;
このクエリは正常に実行されます。これは無駄だと思う。 コードの数を繰り返し照会するためです。
出力:
+---------------------+-------+
| date | value |
+---------------------+-------+
| 2016-04-05 00:01:56 | 0 |
| 2016-04-05 01:01:56 | 0 |
| 2016-04-05 02:01:58 | 0 |
| 2016-04-05 03:01:57 | 0 |
| 2016-04-05 04:01:58 | 0 |
| 2016-04-05 05:01:58 | 0 |
| 2016-04-05 06:01:59 | 0 |
| 2016-04-05 07:01:58 | 0 |
| 2016-04-05 08:01:58 | 0 |
| 2016-04-05 09:01:59 | 0 |
| 2016-04-05 10:01:59 | 0.009 |
| 2016-04-05 11:02:00 | 0.007 |
+---------------------+-------+
は、私は1つのクエリですべてのデータを取得することはできますか?
最後に、この形式のデータをexpressjで送信します。
[
A: [{ date: '2016-04-04 00:00:00', sum: 4},
{ date: '2016-04-04 00:01:00', sum: 6}],
B: [{ date: '2016-04-04 00:00:00', sum: 4},
{ date: '2016-04-04 00:01:00', sum: 6}]
]
またはこのフォーム
[
{ date: '2016-04-04 00:00:00', A: 4, B: 4 },
{ date: '2016-04-04 00:01:00', A: 4, B: 4 }
]
私は、mysqlのクエリ、sequelize、lodashを試してみました。 しかし、私は正しい方法を見つけることができません。
'query'の結果は何ですか? – Rayon
@RayonDabreの結果は '+ --------------------- + ------- + |日付|値| + --------------------- + ------- + | 2016-04-05 00:01:56 | 0 | | 2016-04-05 01:01:56 | 0 | | 2016-04-05 02:01:58 | 0 | | 2016-04-05 03:01:57 | 0 | | 2016-04-05 04:01:58 | 0 | | 2016-04-05 05:01:58 | 0 | | 2016-04-05 06:01:59 | 0 | | 2016-04-05 07:01:58 | 0 | | 2016-04-05 08:01:58 | 0 | | 2016-04-05 09:01:59 | 0 | | 2016-04-05 10:01:59 | 0.009 | | 2016-04-05 11:02:00 | 0.007 | + --------------------- + ------- + ' – whitehander