2012-05-19 145 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)