我正在创建一个 PHP 脚本来维护用户信息、注册新用户和登录到安全页面。为此,我有一个 MySQL 表用户,它存储有关用户的所有信息。用户表有不同的字段,如用户 ID、用户名、用户组 ID、电子邮件哈希、国家等。
在我的脚本中,我想从每个 usergroup_id 中获取 10 个用户。
对此的 SQL 查询是什么?
我认为以下内容适用于为每个用户组随机获取 10 个用户:
select u.*
from user u
where u.userid in (select userid
from user
where u.usergroupid = user.usergroupid
limit 10
)
这是使用相关子查询将每个用户组的行数限制为 10。
你可以使用LIMIT
从句。
例子:
SELECT * FROM `your_table` LIMIT 5, 5
这将显示记录 6、7、8、9 和 10。
限制用于将您的 MySQL 查询结果限制在指定范围内。您可以使用它来显示前 X 个结果,或显示 X - Y 结果的范围。它被表述为限制 X、Y,并包含在查询的末尾。X 是起点(记住第一条记录是 0),Y 是持续时间(要显示多少条记录)。
请试试这个,
SELECT c.* FROM customers c where c.id in (select c2.id from customers c2 where c.group_id=c2.group_id limit 0, 10)