MySQL“group by”限制组返回

时间:2012-11-27 07:16:32

标签: php mysql sql

如果在使用分组依据选择时应用限制,则限制将应用于返回的组数或行数?

我自己,我想限制返回的群体。

这是我的试用版:

select * from orders group by customer_email limit 0,2

从此表中:

id customer_email
0 a@a.com
1 a@a.com
2 a@a.com
3 b@b.com
4 c@c.com
5 c@c.com
6 d@d.com

我想要返回的行0,1,2,3,4,5。

1 个答案:

答案 0 :(得分:0)

您的问题有点模糊:建议的查询限制为2个组,您似乎希望前3个组中包含的所有行都相等customer_email

无论如何,就我正确理解你的问题而言,这是我的答案:)

SELECT *
FROM orders
INNER JOIN (
    SELECT customer_email
    FROM orders
    GROUP BY customer_email
    LIMIT 0,3
) AS temp
ON orders.customer_email = temp.customer_email

子查询select customer_email from orders group by customer_email limit 0,3选择前3个组,然后选择order中包含与前3个组相同customer_email的所有行,这些行将为您提供第0行,1,2,3,4,5。