1

我在一个名为的表中有 4 列articles:created_at、文章、关键字和类别

我有这个查询来分析数据:

SELECT DATE(`created_at`) AS date, COUNT(1) AS articles 
FROM articles 
WHERE `keyword`='keyword1' 
GROUP BY DATE(`created_at`)

这将返回一个关键字每天的文章总数。

我想有一个总数,然后将其分解并将文章分类为或cat1每个关键字。所以给一个这样的表:cat2cat3

|date|keyword|articles|cat1|cat2|cat3| 

我似乎无法做到这一点,所以任何帮助将不胜感激!

4

1 回答 1

2
select 
DATE(`created_at`),
keyword,
count(*) as TotalCount,
SUM (case when Category = Cat1 then 1 else 0 end) as Cat1Count,
SUM (case when Category = Cat2 then 1 else 0 end) as Cat2Count,
SUM (case when Category = Cat3 then 1 else 0 end) as Cat3Count

from articles
group by DATE(`created_at`), keyword
order by DATE(`created_at`), keyword
于 2013-01-25T11:54:31.050 回答