我希望能够返回名为“completed_by”的列的值,其中 completed_on 是最大值
我有下表
CREATE TABLE activity(
id int(11) AUTO_INCREMENT,
completed_on datetime,
completed_by int(11),
activity_code int(11)
)
如果我有
100, '2013-07-01 00:00:00', 11, 20
150, '2013-01-01 00:00:00', 12, 20
我想返回值 11。注意这里唯一给出的值是 activity_code。
逻辑应该在最后一次完成 activity_code = 20 时返回 completed_by。我应该只返回 1 行
这是我所做的,但不确定这是否是一个好的查询,因为表活动有很多记录。
SELECT
completed_by,
MAX(completed_on ) AS completed_on
FROM activity
WHERE activity_code = 5 LIMIT 1