mysql左连接 计算记录数量(mysql多表关联 计算数据条数)
设计两个表 一个是 book 字段为bookID ,bookName,publishName, 另一个表为 questions 主要字段 questionid ,title,bookid等等,现在的需求设计一条sql语句 显示 书名、试题名、以及每本书 在questions表中对应的 试题数量。
上 sql 语句
select book.*,course.major,course.grade,userName,CourseName,count( questions.bookID) as cnt from book left JOIN questions on book.bookID=questions.bookID GROUP BY questions.bookID HAVING cnt>0
标记红的的为重点语句 count( questions.bookID)计算数量, GROUP BY questions.bookID 按照书编号分组 ,HAVING cnt>0 过滤掉 在questions表中没有记录的 书。
结果如下:
只显示 了在qustions表中有试题的书名。