gpt4 book ai didi

php - 选择每种类型的多个项目

转载 作者:行者123 更新时间:2023-11-30 23:51:32 25 4
gpt4 key购买 nike

所以我的 SQL 表看起来像这样:

EVENTS
#id
*event_type

我想选择每种类型的 5 个项目,而不进行 5 个单独的查询并进行并集。有什么方法吗?

最佳答案

为了将结果限制为每组 5 个项目,您应该在子查询中使用限制子句。我当前版本的 MySQL 不允许这种情况发生 (5.1.47) 我不确定新版本是否支持这种情况。

这是我能得到的最接近的:

select id, event_type from events e1
where (
select count(*) from events e2
where e1.event_type = e2.event_type) >= 5;

这将为具有 5 个或更多 id 关联的所有 event_type 的对 id、event_type 返回。

我想到的另一个查询是我提到的我无法运行的查询,因为我正在获取:

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

我不确定是否有任何版本支持它,或者它是否是一个误导性错误。这是理论查询:

select id, event_type from events e1
where (
select count(*) from events e2
where (
e2.id in (
select id from events e3
where e3.event_type = e2.event_type
limit 5
) and e2.event_type = e1.event_type)
) >= 5;

我很确定如果 mysql 可以处理该限制,它就可以工作。

希望这对您有所帮助。

关于php - 选择每种类型的多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680265/

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