2011-07-09 8 views
0

間でユーザーの位置を取得します。 (すべてのユーザーの友人が記載されています)友人私は2つのテーブルを持っている私は、ユーザーの友人の間でユーザーの位置を取得しようとしているが、私は、私はこれを行うことができる方法の任意のアイデアを持っていない...</p> <p>友人

表2:

表1ユーザー(すべてのユーザーがリストされている)

私は、クエリが彼の友人の間でユーザーの位置を確認したいです。

私は、例えば(100枚のクレジット付き)ID 1と(21枚のクレジット付き)ID 2を持つ友人を持っているのであれば、クエリは1

答えて

2

としての私の位置をリストしあなたは本当に多くを提供していません。あなたのテーブルレイアウトについての情報があるので、私は非常に具体的な例を提供することができません。また、私は本当にあなたの質問を理解していないが、私はそれに打撃を与えるだろう怖い...

まず、私はあなたのユーザーテーブルには、少なくともこれらの列を持っていると仮定します:

id (PK) 
credits 

そして友人というの表は、これらの列があります。私はあなたの質問を理解していれば、あなたはそう、彼らが持っているどのように多くのクレジットに基づいて、ユーザの友人のすべてをランク付けしたい、今すぐ

user (FK to users.id) 
friend (FK to users.id) 

を:

SELECT u.id,u.credits 
FROM friends AS f 
JOIN users AS us ON f.friend = u.id 
WHERE f.user = 1 
ORDER BY u.credits DESC; 
0

ポジションを取得するには、これをPHPで行うことをお勧めします。だからFlimzyのようなソートされたリストを取得し、array_searchのような配列関数を使ってその位置を取得します。

関連する問題