0

我有一个大查询,我将在下面简化以使其更易于理解。除了说我需要分析我的数据并产生一些计数之外,我不确定如何最好地对我需要做的事情进行分类。

在这个例子中,我有一个关于书籍的信息表

Author, Title, Category

类别可以是历史、小说、体育或旅行之一

我需要的输出是

Author, count(History), count(Fiction), count(Sport), count(Travel)

对于每个作者。

示例输出:

Author        History   Fiction   Sport   Travel
J.Patterson      0         21       1       3
R.Ludlum         3         43       3       0

可能需要在最后添加一个总列。

在此先感谢您的帮助。

4

2 回答 2

1
SELECT
    Author,
    SUM(Category='History') AS 'History',
    SUM(Category='Fiction') AS 'Fiction',
    SUM(Category='Sport') AS 'Sport',
    SUM(Category='Travel') AS 'Travel'
FROM books
GROUP BY Author
于 2013-06-19T14:16:03.833 回答
0

为什么没有可扩展和更好的输出,例如Author | CategoryName | Count

SELECT Author, Category, COUNT(*) FROM books GROUP BY Author, Category;
于 2013-06-19T14:14:34.060 回答