我正在創建一個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
你問題不清楚你能否與我分享更多關於這方面的信息方案 –