我有一个名为 log_payment 的表,其中包含一系列付款记录,例如:
log_user_id, log_date, log_payment_id
13, 2013-01-01 01:13:00, TRIAL<BR>
13, 2013-01-02 01:18:00, 1<BR>
13, 2013-01-03 01:05:00, 2
我想得到的是用户上次记录的付款 ID 和日期。所以我希望 user_id 的最后一笔交易是 01/03 并且付款 id 为 2。所以我写了这个查询:
select max(log_date) as max_date,log_user_id,log_payment_id from log_payment group by log_user_id
但它返回13, 2013-01-03 01:05:00, TRIAL
因此,根据我在其他地方找到的一些数据,我尝试了这个:
select log_user_id, max_date, log_payment_id from (select log_user_id,max(log_date) as max_date from log_payment group by _log_user_id) payment_table inner join log_payment on payment_table.log_user_id = log_payment.log_user_id and payment_table.max_date = log_payment.log_date
但这持续了几分钟,直到我最终取消它。我错过了什么?