我需要创建一个查询,只获取每个用户的最后3个帖子。
我有这个问题:
SELECT p.*
FROM post AS p
INNER JOIN customer AS c ON c.id = p.customer
ORDER BY p.created DESC
但那会有我所有的帖子。我需要一个只包含每个用户的3个帖子的集合而不是更多。
答案 0 :(得分:0)
SELECT p.*
FROM post AS p
INNER JOIN customer AS c ON c.id = p.customer
ORDER BY p.created DESC LIMIT 3
答案 1 :(得分:0)
MySQL中最简单的方法是使用变量:
SELECT p.*
FROM (SELECT p.*,
(@rn := if(@c = p.customer, @rn + 1,
if(@c := p.customer, 1, 1)
)
) as seqnum
FROM post p CROSS JOIN
(SELECT @c := 0, @rn := 1) params
ORDER BY p.customer, p.created DESC
) p
WHERE seqnum <= 3;
请注意,您没有使用customer
中的任何字段,因此除非您使用JOIN
进行过滤,否则import UIKit
func swapF(inout a:Int, inout with b:Int ) {
print(" x = \(a) and y = \(b)")
(a, b) = (b, a)
print("New x = \(a) and new y = \(b)")
}
swapF(&5, with: &8)
是不必要的。