1

group by で選択するときに制限を適用すると、返されるグループ数または行数に制限が適用されますか?

私自身、返されるグループを制限したいと思います。

これが私のトライアルです:

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が返されます。

4

1 に答える 1

0

あなたの質問は少しあいまいです: 提案されたクエリは 2 つのグループに制限されてcustomer_emailおり、最初の 3 つのグループに含まれる等しい行がすべて必要なようです。

とにかく、あなたの質問を正しく理解している限り、ここに私の答えがあります:)

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 つのグループを選択し、最初の 3 つのグループorderと同じものを含むすべての行を選択するcustomer_emailと、行 0、1、2、3、4、5 が得られます。

于 2012-11-27T08:00:03.463 に答える