0

ユーザー情報の管理、新しいユーザーの登録、およびセキュア ページへのログインを行うための PHP スクリプトを作成しています。そのために、ユーザーに関するすべての情報を格納する MySQL テーブルuserがあります。ユーザーテーブルには、userid、username、usergroup_id、email_hash、country などのさまざまなフィールドがあります。

私のスクリプトでは、各 usergroup_id から 10 人のユーザーを取得したいと考えています。
これに対する SQL クエリは何になりますか?

4

3 に答える 3

1

ユーザーグループごとに10人のユーザーのランダムなセットをフェッチするには、次のように機能すると思います。

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

これは、相関サブクエリを使用して、ユーザーグループごとに行数を10に制限しています。

于 2012-05-19T11:29:10.543 に答える
1

LIMIT句を使用できます。

例:

SELECT * FROM `your_table` LIMIT 5, 5 

これにより、レコード 6、7、8、9、および 10 が表示されます。

Limit は、MySQL クエリの結果を指定された範囲内に制限するために使用されます。これを使用して、最初の X 件の結果を表示したり、X ~ Y の結果の範囲を表示したりできます。これは Limit X, Y と表現され、クエリの最後に含まれます。X は開始点 (最初のレコードが 0 であることを思い出してください) で、Y は期間 (表示するレコード数) です。

于 2012-05-19T10:14:59.180 に答える
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)
于 2012-05-19T15:56:48.810 に答える