gpt4 book ai didi

mysql - 限制MYSQL中记录的出现次数

转载 作者:行者123 更新时间:2023-11-29 14:45:15 26 4
gpt4 key购买 nike

我创建了一个 View ,它结合了两个表来显示电子邮件地址和位置详细信息的列表,即

电子邮件地址一 |地点1
电子邮件地址一 |地点2
电子邮件地址一 |地点3
电子邮件地址一 |地点4
电子邮件地址二 |地点1
电子邮件地址二 |地点2

这会循环数百封电子邮件。

不幸的是,我需要限制每个电子邮件地址,因此每个地址只能选择 5 条记录 - 目前某些记录返回了 70 多条记录。

是否可以将返回的每个电子邮件地址的数量限制为最多 5 个?

最佳答案

您需要为返回结果中的每个电子邮件地址添加排名,例如

1 | Email Address One | Location 1
2 | Email Address One | Location 2
3 | Email Address One | Location 3
4 | Email Address One | Location 4
1 | Email Address Two | Location 1
2 | Email Address Two | Location 2

一旦你有了这个排名,你就可以添加一个whererank <5。如果你使用group子句来创建排名,你将必须使用having子句,例如havingrank<5。

不幸的是,我不知道您的表格布局或创建上述结果的查询,因此我无法帮助您创建排名。

这尚未经过测试,但可能会起作用(假设 id 是位置的唯一标识符):

select 
user.email AS email,
locations.locationname AS locationname,
count(A.id) AS rank
from
locations
join user on (location.department = user.department)
join locations A on A.id < locations.id
group by
locations.id
having
rank < 5
order by
locations.id

关于mysql - 限制MYSQL中记录的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7092641/

26 4 0
文章推荐: php - 加入集合请求
文章推荐: mysql - 子查询问题
文章推荐: mysql - Rails 复杂 SQL
文章推荐: php - PHP添加好友功能
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com