我有这个疑问,它作为期望的,但是看起来应该有更好的方式来完成我想要的:替代的滤波的子查询
SELECT `x`.*
FROM (
SELECT `m`.`id`,
`m`.`email`,
MAX(`s`.`end`) AS `max_end`
FROM `members` AS `m`
INNER JOIN `memberships` AS `s`
ON `m`.`id` = `s`.`member_id`
GROUP BY `m`.`id`,
`m`.`email`
) AS `x`
WHERE `x`.`max_end` = '2010-02-28 23:59:59'
我要寻找其成员资格的成员在某个日期结束。 memberships
表包含start
和end
列包含成员资格处于活动状态的日期。我只想查看最后的结束会员资格期,因此子查询中的MAX()
和GROUP BY
。
神圣的蝙蝠侠.. – Fosco 2011-06-09 17:04:28
@Fosco - 你让我笑了。谢谢! – Sonny 2011-06-09 17:18:17