0

次の表を指定して、列「目的の出力」に出力を生成できるクエリまたはphpコードの作成を誰かが手伝ってくれるかどうか知りたいです。

基本的に、クエリまたは php コードは、financialvol 列をシンボルごとに合計し、計算ごとに、または openposition が 0 のときに結果を表示する必要があります。

 tid    | time      | symbol | openposition  | financialvol | desired output
 87646  | 10:29:38  | CTIP3  | 400           | 8744.00      |
 87645  | 10:29:47  | CTIP3  | 800           | 8732.00      |
 87644  | 10:29:52  | CTIP3  | 1000          | 4366.00      |
 87643  | 10:30:02  | CTIP3  | 1200          | 4368.00      |
 87642  | 10:30:06  | CTIP3  | 1400          | 4364.00      |
 87639  | 10:31:57  | CTIP3  | 1200          | -4382.00     |
 87638  | 10:32:04  | CTIP3  | 1000          | -4372.00     |
 87637  | 10:32:08  | CTIP3  | 800           | -4362.00     |
 87636  | 10:32:14  | CTIP3  | 600           | -4388.00     |
 87635  | 10:32:40  | CTIP3  | 0             | -13098.00    | -28
 87647  | 10:28:54  | PCAR4  | 400           | 40480.00     |
 87641  | 10:31:30  | PCAR4  | 200           | -20246.00    |
 87640  | 10:31:41  | PCAR4  | 0             | -20340.00    | -106
 87651  | 10:27:42  | TIMP3  | 1500          | 12345.00     |
 87650  | 10:27:48  | TIMP3  | 11500         | 82300.00     |
 87649  | 10:28:09  | TIMP3  | 1500          | -82600.00    |
 87648  | 10:28:23  | TIMP3  | 0             | -12345.00    | -300
 87657  | 10:26:44  | VIVT4  | -500          | -23710.00    |
 87656  | 10:26:53  | VIVT4  | 0             | 23700.00     | -10
 87655  | 10:26:59  | VIVT4  | -500          | -23740.00    |
 87653  | 10:27:00  | VIVT4  | -1000         | -23740.00    |
 87654  | 10:27:00  | VIVT4  | -1500         | -23740.00    |
 87652  | 10:27:24  | VIVT4  | 0             | 71055.00     | -175

見て、試してくれてありがとう!

4

2 に答える 2

0
SELECT x.*
     , CASE WHEN x.openposition = 0 THEN SUM(y.financialvol) ELSE '' END desired
  FROM my_table x 
  JOIN my_table y 
    ON y.symbol = x.symbol AND y.time <= x.time 
 GROUP 
    BY x.symbol, x.time;
于 2013-10-05T14:38:30.937 に答える
0

このようなものを探していると思います。

これを意味のあるものにするために、テーブルを次のように並べ替える必要があります。order by time asc

于 2013-10-04T20:19:42.760 に答える