如何完成此SQL查询

时间:2014-08-07 09:14:18

标签: mysql sql

它有效,但我想要的是列出用户名,名字,姓氏不是全部,但我已经尝试过JOIN并且似乎不起作用。有任何想法吗?谢谢!

我的DB:

http://gyazo.com/eb13cd68440d20719ce0783018cb9828

2 个答案:

答案 0 :(得分:1)

不要选择*(全部),而只使用SELECT table.username, table.firstname, table.lastname [...]

如果所有信息都存储在您的评论表中,您可以省略table.。如果没有,请相应调整。在这种情况下,您还需要将注释表与存储其余信息的表一起加入。

编辑:

SELECT m.username, m.first_name, m.last_name FROM members m, comments c WHERE m.MemberID = c.MemberID AND c.author = (select max(author) from comments)

答案 1 :(得分:1)

  SELECT
      M.Username,
      M.first_name,
      M.Last_name,
      COUNT(1) AS num_comments

  FROM members AS M
  INNER JOIN comments AS C
      ON C.memberID = M.memberID

  GROUP BY
      C.memberID
  ORDER BY COUNT(1) DESC
  LIMIT 1

这会将会员的所有评论与成员匹配,以获取用户的评论计数,按计数开始最高的订单,然后返回第一个结果。