私は試してみましたが、これを理解することができませんでした。
オープン、ハイ、ロー、クローズの株価チャートでは、いつでも毎分、5分、10分、時間などのチャートを作成できます。毎分データがあり、オープン、ハイ、ローを選択しようとしています。 、その分ごとのデータから閉じますが、5分ごとです。
私はこれに似たデータを持っています:
__________________________________________________
| Date | TIME | TICKER | Open | High | Low | Close |
| 20121203 | 090000 | QQQQ | 23.54 | 24.12 | 23.01 | 23.24 |
| 20121203 | 090100 | QQQQ | 23.24 | 24.14 | 22.98 | 24.13 |
| 20121203 | 090200 | QQQQ | 24.13 | 25.88 | 23.75 | 25.81 |
| 20121203 | 090300 | QQQQ | 25.81 | 25.83 | 24.63 | 24.99 |
| 20121203 | 090400 | QQQQ | 24.99 | 25.21 | 23.89 | 24.12 |
| 20121203 | 090500 | QQQQ | 24.12 | 24.19 | 21.94 | 22.03 |
| 20121203 | 090600 | QQQQ | 22.03 | 22.97 | 20.68 | 21.44 |
| 20121203 | 090700 | QQQQ | 21.44 | 24.06 | 19.32 | 23.56 |
| 20121203 | 090800 | QQQQ | 23.56 | 25.48 | 23.07 | 25.01 |
| 20121203 | 090900 | QQQQ | 25.01 | 28.00 | 24.18 | 27.21 |
| 20121203 | 091000 | QQQQ | 27.21 | 27.55 | 24.31 | 24.31 |
時間>=090000(午前9時)09時間00分00秒の行のmax(high)を取得する必要があります。
これと同様に、min(low)が必要です。その後、5分ごとに取得するため、時刻が090400のときに終値を取得します。次の5分の増分のオープンを使用することもできるので、柔軟性があります。
ネストされたSELECTステートメント、複数の結合などを使用しました。問題は、MySQLの実行時間が1行あたり約1秒返されることです。1時間あたり12行(60分/5分=12)があると考えると、これは非常に遅いです。実際にFOREXを実行しているため、取引は24時間、つまり24時間です。それは私に1日あたり288、または1日あたり5分弱を与えます。1年間のデータ(約250取引日)を実行するには、約20時間かかります。より速い方法が必要です。
IDを継続することで、これに対するいくつかの解決策があります。これが最も簡単かもしれませんが、それを行う際にデータが正しいかどうかは100%わかりません。その理由は、金曜日の取引日はニューヨークの通常の営業時間に終了し、東京での最初の取引(米国では午後半ば頃)で始まるためです。
GROUP BYを見てきましたが、データをグループ化して5つのグループを取得する方法がわかりません。時間は各5分のグループから5分以内です。
あなたの考えと議論に感謝します。
ジャロッド