不,不能任意限制子查询(在较新的mysqls中可以在有限的范围内这样做,但不能针对每个组5个结果)。
这是一个groupwise最大类型查询,这在sql中是很重要的。有 various ways 在某些情况下更有效地解决这个问题,但是对于top-n,您通常会想看看 Bill's answer 去问一个类似的问题。
与此问题的大多数解决方案一样,如果有多个行具有相同的 rate 值,因此您可能仍然需要大量的后处理来检查该值。
rate