1

レコードが日付に関連付けられていない場合でも、日付でグループ化すると、各IDの最新のレコードを取得するmysqlクエリが必要です。これがmysqlで可能かどうかはわかりませんが、ご協力いただければ幸いです。

たとえば、次の表があるとします。

user_id | total | timestamp
----------------------------
   1    |   -15 | jan 1
   2    |    -5 | jan 1
   3    |   -10 | jan 1
   1    |    -4 | jan 2
   3    |   -16 | jan 3

次の表を返したいのですが。

user_id | total | timestamp
----------------------------
   1    |   -15 | jan 1
   2    |    -5 | jan 1
   3    |   -10 | jan 1
   1    |    -4 | jan 2
   2    |    -5 | jan 2
   3    |   -10 | jan 2
   1    |    -4 | jan 3
   2    |    -5 | jan 3
   3    |   -16 | jan 3

さらに詳しい説明が必要な場合はお知らせください。ご協力いただきありがとうございます。

4

1 に答える 1

0

SQLFiddle デモ

select user_id,

(select total 
        from t 
      where user_id=t2.user_id 
            and t.timestamp <= t2.timestamp 
 order by t.timestamp DESC LIMIT 1) as total,

timestamp
from
(
select user_id,timestamp
from
(select distinct user_id from t) t0
cross join
(select distinct timestamp from t) t1
) t2

order by timestamp,user_id
于 2013-02-07T11:31:22.580 に答える