我有一个大型查询,我将在下面进行简化,以便更容易理解。我不确定如何最好地对我需要做的事情进行分类,除了说我需要分析我的数据并产生一些数据。
在这个例子中,我有一个关于书籍的信息表
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
可能需要在最后添加一个总列。
提前感谢您的帮助。
答案 0 :(得分: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
答案 1 :(得分:0)
为什么不使用可扩展且更好的输出,例如Author | CategoryName | Count
?
SELECT Author, Category, COUNT(*) FROM books GROUP BY Author, Category;