如何根据resultset中的值限制mysql结果?

时间:2012-05-19 09:18:50

标签: mysql sql mysqli

我正在创建一个PHP脚本来维护用户信息,注册新用户和登录安全页面。为此,我有一个mysql表用户,它存储有关用户的所有信息。 用户表包含不同的字段,如userid,username,usergroup_id,email_hash,country等。

在我的脚本中,我想从每个usergroup_id中获取10个用户 这将是什么SQL查询?

提前致谢。

3 个答案:

答案 0 :(得分:1)

您可以使用LIMIT子句。

示例:

SELECT * FROM `your_table` LIMIT 5, 5 

这将显示记录6,7,8,9和10.

  

限制用于将MySQL查询结果限制为下降的结果   在指定范围内。您可以使用它来显示第一个X数   结果,或显示X - Y结果的范围。它被称为限制   X,Y并包含在查询的末尾。 X是起点   (记住第一条记录是0),Y是持续时间(多少   要显示的记录)。

答案 1 :(得分:1)

我认为以下内容适用于为每个用户组提取10个用户的随机集:

select u.*
from user u
where u.userid in (select userid
                   from user
                   where u.usergroupid = user.usergroupid
                   limit 10
                  )

这是使用相关子查询将每个用户组的行数限制为10.

答案 2 :(得分:0)

请尝试这个,

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)