次のようなmysqlのスクリプトがあります。
SET @waktu = NULL; ユーザー名を選択し、 IF (@username = ユーザー名、 IFNULL(TIMEDIFF(waktu,@waktu),0), @waktu:=waktu + NULL + LEAST(0,@username := username)) selisih_waktu, @waktu:=`waktu` as time FROM mdl_temporer_log2 WHERE rolename = '学生' ORDER BY ワクトゥ
その後、そのスクリプトを実行すると、次のように表示されます。
ユーザー名 | selisih_waktu| 時間 -----------|---------------|-------------- aq | null | null | 05:55:07 aq | null | null | 05:55:09 メギ | null | null | 05:55:37 メギ | null | null | 05:55:40 メギ | null | null | 05:55:45
しかし、もう一度実行すると、そのスクリプトは次のように表示されます。
ユーザー名 | selisih_waktu| 時間 -----------|---------------|-------------- aq | 0 | 05:55:07 aq | 00:00:02 | 05:55:09 メギ | null | null | 05:55:37 メギ | 00:00:03 | 05:55:40 メギ | 00:00:03 | 05:55:45
次のようにそのスクリプトから出力を取得したい:
ユーザー名 | selisih_waktu| 時間 -----------|---------------|-------------- aq | null | null | 05:55:07 aq | 00:00:02 | 05:55:09 メギ | null | null | 05:55:37 メギ | 00:00:03 | 05:55:40 メギ | 00:00:03 | 05:55:45
それで、私は混乱しています、そのスクリプトは間違っていますか、それとも正しいですか? そのスクリプトが間違っている場合、正しいスクリプトはどのようになっていますか?