2017-08-09 11 views
0

SQLYogを使用してMySqlクエリから次の行の値を取得(選択)したい場合は、 と同じid_voyage_orderですか?Mysqlクエリから次の行の値を取得する方法

例:私はそれを選択し、このようになると同じid_voyage順序に基づいて表示するファイルのYiiで作成し、最後のレコードの期間を設定したい

id_timesheet | id_voyage_order | Duration 
---------------------------------------- 

1   | 106    | 0.00 
2   | 106    | 24.00 
3   | 210    | 12.00 
4   | 106    | 12.00 
5   | 210    | 24.00 

が0になる:

id_timesheet | id_voyage_order | Duration 
1.   | 106    | 24.00 
2.   | 106    | 12.00 
4.   | 106    | 0.00 
+0

このサイトでは、あなた自身のクエリを試してから、stuc k。たとえば、次のクエリは必要な処理を行いますか? * select id_timesheet、id_voyage_order、期間DESCによってthat_tableからの継続時間id_voyage_order = 106 * nb:常にテーブル名を提供すると便利です。 –

+0

TY @Used_By_Already :) SELECT id_timesheet、id_voyage_order、次いでid_voyage_order = '106' タイムシートから時間 条件は次の行の値を取得するためにどのように? –

+0

私はsoryです、私はIDを修理しました@Strawberry –

答えて

0

例:

SELECT a.id_timesheet 
    , a.id_voyage_order 
    , COALESCE(b.duration,0) duration 
    FROM my_table a 
    LEFT 
    JOIN 
    (SELECT x.* 
      , MAX(y.id_timesheet) previous 
      FROM my_table x 
      JOIN my_table y 
      ON y.id_voyage_order = x.id_voyage_order 
      AND y.id_timesheet < x.id_timesheet 
     GROUP 
      BY x.id_timesheet 
    ) b 
    ON b.previous = a.id_timesheet 
    WHERE a.id_voyage_order = 106; 
+0

ありがとうございました。それは大きく働く。 –

関連する問題