Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 要选择表中的所有列,同时使用棒状标记类似的列值吗_Mysql_Sql - Fatal编程技术网

Mysql 要选择表中的所有列,同时使用棒状标记类似的列值吗

Mysql 要选择表中的所有列,同时使用棒状标记类似的列值吗,mysql,sql,Mysql,Sql,表名:图书。 最后一列(NoOfBooksPerCourse)是在获取所有其他列的同时要计算的内容 |BookID | Title | Publisher | Author | CourseID | NoOfBooksPerCourse ---------------------------------------------------------------------- | 1 | Book1| Publisher1| Author1 |

表名:图书。 最后一列(NoOfBooksPerCourse)是在获取所有其他列的同时要计算的内容

|BookID  | Title  | Publisher   | Author   | CourseID    | NoOfBooksPerCourse   
----------------------------------------------------------------------
|    1   |   Book1|   Publisher1|  Author1 |     1       |  2         
|    2   |   Book2|   Publisher2|  Author2 |     1       |  2        
|    3   |   Book3|   Publisher3|  Author3 |     2       |  1         
|    4   |   Book1|   Publisher4|  Author4 |     3       |  1         
我有这个表,我想选择所有的cloumn并计算NoOfBooksPerCourse列(在MySql中)。有什么建议吗

我试过这样的方法:

SELECT Title, Publisher, Author, COUNT( CourseID ) AS NoOfBooksPerCourse
FROM Book
GROUP BY (
CourseID
)

但它并没有选择表中的所有行(作为附件链接添加),它只选择每个课程ID的第一行。

要从
书籍
中选择所有内容,可以使用
选择*
。任何额外的计数都可以作为内联select语句添加:

SELECT b1.*,
    (SELECT COUNT(*) FROM Book b2 WHERE b2.CourseID = b1.CourseID) As NoOfBooksPerCourse
FROM Book b1

编辑您的问题,并在问题中提供示例数据和所需结果(不使用链接)。不清楚你在问什么。我刚刚添加了我正在使用的查询。我的问题专门询问数据。您的查询显然不起作用,因此无法很好地解释您要执行的操作。我添加了示例表数据。希望这有帮助。您希望从结果中得到什么?向我们展示结果数据。