-1

以下で説明するように、現在の時間と最後の時間の間の 2 つの値の差を取得する必要があります。

最初のステップとして、現在の時間の値を見つけようとしましたが、そこから最後の 2 番目の時間の値を減算して現在の時間の行と一緒に表示する方法がわかりません

    mmeName,startDate,max(startTime),endDate,max(endTime),c_ratio,set_timeを選択

    添付から

    ここで、type='INIT' および endDate=Date(now())

    mmeName でグループ化

私の既存のテーブル形式と必要な出力は、添付の画像に取り込まれています。

任意のヘルプ/提案をいただければ幸いです!

ここに画像の説明を入力

4

1 に答える 1

0

テーブルに自動インクリメント ID があると仮定して、次のクエリを試してください。

SELECT a1.mmeName, a1.c_ratio, a1.set_time, a0.c_ratio - a1.c_ratio AS last_hr, a0.set_time - a1.set_time AS last_hr_2
FROM attach a1
JOIN attach a0 ON a0.id = (SELECT MAX(id) FROM attach WHERE id < a1.id AND mmeName = a1.mmeName)

このクエリでa1は、 は現在の行をa0参照し、同じ を持つ前の行を参照しmmeNameます。last_hr次に、次のようなフィールドを作成できますa0.c_ratio - a1.c_ratio

ごとmmeNameに 1 行だけ必要な場合は、差を合計する必要がありGROUP BY mmeNameます。

于 2013-10-25T20:36:40.893 に答える