2016-04-08 7 views
0

私は、ユーザが所属するウェブサイトのセクションと、admin privliges(admin = 1またはadmin = 0、basic = 1またはbasic = 0)を持っているかどうかを示すmysqlテーブルを持っています。 。mysqlクエリのパラメータの最初の出現

私は最初のユーザーに各セクションの管理者権限を与えたいと思っています。これはmySQLを通してこれをやりたいのです。

私は離れていると私は各セクションの最初のユーザーを選択し、管理者権限を与えることができますか?

だから私のテーブルが

SECTION_USER

例えば、次のようになります| --ID-- | --USER_ID-- | --SECTION_ID-- | --ADMIN-- | - ベーシック - |
| - 1- | ------- 100 ---- | ------------- 999 ---- | ---- 0 ---- ---- | ----- 1 ------ |
| - 2- | | ------- 101 ---- | ------------- 999 ---- | ---- 0 ---- ---- | ----- 1 ------ |
| - 3- | | ------- 102 ---- | ------------- 100 ---- | ---- 0 ---- ---- | ----- 1 ------ |
| - 4-- | ------- 103 ---- | ------------- 100 ---- | ---- 0 ---- ---- | ----- 1 ------ |

それらはセクション999の最初の結果であるように、基本的にクエリが管理する管理者およびユーザ102に対してユーザ100を更新するであろうし、セクション100

+0

あなたが「最初」と言うとき、正確な順序は何を心に持っていますか? –

答えて

0
update section_user su 
join 
(
    select section_id, min(id) as id 
    from section_user 
    group by section_id 
) tmp on tmp.section_id = su.section_id 
    and tmp.id = su.id 
set admin = 1 

インナーセレクト各セクションと第(MINを取得します)のユーザーになります。その結果に参加すると、テーブルを更新できます。

関連する問題