怎么设计好友关系库表

暂时想到的是设计两张表

user 表(用户表)

id   user
1    张三
2    李四
3    王五
4    赵六

friend 表(会员关系表)

id   uid   fid
 1    1     2
 2    1     3
 3    2     1
 4    4     2
 5    4     3

如果要查找好友

 select * from friend where uid='张三' or fid='张三'

查找好友数最多的前三个人

select * from user a,friend b where a.id = b.uid
   and a.id  in(
                select uid count(*) AS cn
                FROM friend GROUP BY
                uid ORDER BY cn      
                desc LIMIT 3 
 ) 

好像不对,请高手指教。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CREATE TABLE IF NOT EXISTS ecs_order_info (order_id mediu...
    cookie口阅读 15,768评论 0 16
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,589评论 9 467
  • 1.数据库设计 1.1库名 1.库的名称尽量控制在32个字符以内,最长不超过64个字符,相关模块的表名与表名之间尽...
    Mwk阅读 2,171评论 0 4
  • 我在寻找太阳般的姑娘 她的光芒能驱散冬天的凄冷 带给我新的希望 我在寻找太阳般的姑娘 她能照亮我前方的路 陪我一起...
    似冰的梦阅读 374评论 1 3