账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mysql 显示前10名发帖最多的用户名字及帖子数量
    • 2020-01-01 00:00
    • 11
    80
    0

    有下面两张表,user(用户表)和thread(帖子表), 假设有100W用户, 500W帖子, 写一条SQL,
    显示前10名发帖最多的用户名字及帖子数量, 并针对该语句指出如何设计合理的索引字段。
    如何确认你写的sql会用到哪个索引,另外请说明下你写的 sql 是否是最优解。

    表名 字段
    user uid, usernmae, password, create_time
    thread tid, uid, title, content, create_time
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 你可以使用MySQL的GROUP BY和MAX函数来实现这个查询。以下是一个可能的SQL查询:

      sql SELECT username, COUNT(*) as post_count FROM your_table GROUP BY username ORDER BY post_count DESC LIMIT 10;

      在这个查询中,your_table是你想要查询的表的名称。username是你想要查询的用户的用户名。COUNT(*)函数计算每个用户名的帖子数量。GROUP BY username将帖子数量分组到每个用户名上。ORDER BY post_count DESC将帖子数量按降序排列,以便前10名发帖最多的用户名排在前面。LIMIT 10只返回前10个结果。

      请注意,你需要将your_tableusername替换为你的实际表名和用户名。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部