我正在创建一个PHP脚本,用于维护用户信息,注册新用户并登录到安全页面。为此我有一个mysql表用户它存储所有关于用户的信息。 用户表有类似的用户ID,用户名,usergroup_id,email_hash,国家等如何根据结果集中的值限制mysql结果?
在我的剧本不同的领域,我想从每个usergroup_id获取10个用户。
这将是什么SQL查询?
在此先感谢。
我正在创建一个PHP脚本,用于维护用户信息,注册新用户并登录到安全页面。为此我有一个mysql表用户它存储所有关于用户的信息。 用户表有类似的用户ID,用户名,usergroup_id,email_hash,国家等如何根据结果集中的值限制mysql结果?
在我的剧本不同的领域,我想从每个usergroup_id获取10个用户。
这将是什么SQL查询?
在此先感谢。
您可以使用LIMIT
子句。
实施例:
SELECT * FROM `your_table` LIMIT 5, 5
这将显示记录6,7,8,9,和10
限制用来限制你的MySQL查询结果的那些内的下降 指定范围。您可以使用它显示结果的第一个X号码 ,或显示X - Y结果的范围。它被表示为限制 X,Y并包含在查询结尾。 X是起始点 (记住第一条记录是0),Y是持续时间(多少个 记录要显示)。
我认为有以下将用于获取随机的一组10个用户为每个用户组的工作:
select u.*
from user u
where u.userid in (select userid
from user
where u.usergroupid = user.usergroupid
limit 10
)
这是通过使用相关子查询限制的行数为10,每个用户组。
请尝试这一个,
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)
您已经尝试了什么?可能重复的http://stackoverflow.com/questions/3333665/mysql-rank-function,检查出来。 – YvesR
http://stackoverflow.com/questions/2129693/mysql-using-limit-within-group-by-to-get-n-results-per-group – sarwar026
你问题不清楚你能否与我分享更多关于这方面的信息方案 –