2012-05-19 101 views
0

我正在创建一个PHP脚本,用于维护用户信息,注册新用户并登录到安全页面。为此我有一个mysql表用户它存储所有关于用户的信息。 用户表有类似的用户ID,用户名,usergroup_id,email_hash,国家等如何根据结果集中的值限制mysql结果?

在我的剧本不同的领域,我想从每个usergroup_id获取10个用户。
这将是什么SQL查询?

在此先感谢。

+0

您已经尝试了什么?可能重复的http://stackoverflow.com/questions/3333665/mysql-rank-function,检查出来。 – YvesR

+0

http://stackoverflow.com/questions/2129693/mysql-using-limit-within-group-by-to-get-n-results-per-group – sarwar026

+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

我认为有以下将用于获取随机的一组10个用户为每个用户组的工作:

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

这是通过使用相关子查询限制的行数为10,每个用户组。

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)