我有两张桌子:
Members:
id username
Trips:
id member_id flag_status created
("YES" or "NO")
我可以做这样的查询:
SELECT
Trip.id, Trip.member_id, Trip.flag_status
FROM
trips Trip
WHERE
Trip.member_id = 1711
ORDER BY
Trip.created DESC
LIMIT
3
哪个可以给出这样的结果:
id member_id flag_status
8 1711 YES
9 1711 YES
10 1711 YES
我的目标是知道该成员的最后三趟旅行是否都有 flag_status = "YES",如果这三个中的任何一个 != "YES",那么我不希望它计算在内。
我还希望能够删除 WHERE Trip.member_id = 1711 子句,让它为我的所有成员运行,并给我最近 3 次旅行都具有 flag_status = "YES" 的成员总数
有任何想法吗?
谢谢!
http://sqlfiddle.com/#!2/28b2d
在那个 sqlfiddle 中,当我正在寻找的正确查询运行时,我应该看到如下结果:
COUNT(Member.id)
2
应该有资格的两个成员是成员 1 和 3。成员 5 失败,因为他的一次旅行有 flag_status = "NO"