gpt4 book ai didi

MYSQL - 限制超过计数大小的记录数量

转载 作者:行者123 更新时间:2023-11-29 12:04:30 25 4
gpt4 key购买 nike

我当前有一个查询,该查询计算每行的“parent_id”值并将其添加到每行中。

例如,如果我有 4 条记录,其“parent_id”下的值为“1432”,则“count”列下将显示计数值 4。

我试图根据计数限制行数。

例如,假设我们希望每个“parent_id”的记录数超过 2。如果“parent_id”已达到第三条记录,则它只会继续,不会返回该记录。

现有表格示例:

ID parent_id count(parent_id)
1 1234 2
2 1234 2
3 3221 3
4 3221 3
5 3221 3
6 5432 1
7 4312 1

我想要得到的结果是:

ID parent_id count(parent_id)
1 1234 2
2 1234 2
3 3221 2
4 3221 2
5 5432 1
6 4312 1

最佳答案

这是按组选择的查询:

SELECT id, parent_id, rn
FROM (
SELECT @rn:=CASE WHEN @parent_id=parent_id
THEN @rn+1
ELSE 1
END AS rn
, @parent_id:=parent_id AS parent_id
, id
FROM t, (SELECT @rn:=0,@parent_id:='') AS u

ORDER BY parent_id,id
) as s
WHERE rn <= 2

FIDDLE

关于MYSQL - 限制超过计数大小的记录数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31773461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com