MySQL查询问题求助

像segmentfault这样,
一个提问表,question,reply(当然可能不是这样设计的)

question

  • id

  • title

  • user

  • time

  • ……

reply

  • id

  • q_id //问题ID

  • user

  • time

  • ……

怎么一次查询出 问题title,时间,回答次数?

又例如学生表,成绩表
如何一次查询出每个学生有多少条成绩?

student

  • id

  • user

  • pwd

  • ……

grade

  • id

  • user

  • score

  • term

  • ……

阅读 2.8k
2 个回答
select users.user,users.name,(select count(*) from grade where users.user=grade.user) 
as total from users;

指定班级:

select users.user,users.name,(select count(*) from grade where users.user=grade.user) 
as total
from users where user like '2012%';
SELECT question.title, question.time,
(SELECT COUNT(*) FROM reply WHERE reply.q_id = question.id) AS reply_sum
FROM question

下面的问题类似

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题