回答

收藏

``您可能认识的人''sql查询

技术问答 技术问答 337 人阅读 | 0 人回复 | 2023-09-14

我正在研究你可能认识的人的功能。我有两个表:
; B) P- h0 B, z  j" G' U$ n用户
2 L+ {' w$ f' x# s% S, d$ N( L; ^id, W4 y; N3 Z# F& _% {% t% V
email
: N: H3 E3 v( I0 q  i) r& aname
! a3 l% r: u/ t+ J2 xetc* m0 F" x( T5 C1 }* q
朋友% `3 {9 g2 n: i$ B( s( t
user_id
9 R" L" n1 d- Q' V$ L+ `4 R1 k9 qfriend_id( O* h, o' w: K# a$ B, G
我会为每一次友谊做两个记录。假设用户7和9成为朋友。…我想在友谊表中记录一个user_id = 7,friend_id = 9,另一条user_id. `* @7 j2 [! W2 p7 U' C& |! z, U4 E
= 9,friend_id = 7的记录。
- R3 R  N1 [4 s. }; d0 c9 E如何根据朋友中的朋友来做?sql为了建议我可能认识的人?我也想根据大多数共同的朋友订购。
  d3 L$ X- ?) h0 D7 F% [2 I, c                                                                6 o( F7 }- n8 d% K/ W: `: y
    解决方案:                                                               
& ?5 v( y( R5 u  p' R1 N                                                                select u.id,u.email,u.name,u.etc    -- Get all my friends    from Friendships as f1    -- Get their friends    inner join Friendships as f2          on f1.friend_id = f2.user_id    -- Get their friends User information    inner join Users as u        on f2.friend_id = u.id    where f1.user_id = @userId这将是我的起点。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则