我在名为 articles
的表中有 4 列:created_at、articles、keyword 和 category
我有这个查询来分析数据:
SELECT DATE(`created_at`) AS date, COUNT(1) AS articles
FROM articles
WHERE `keyword`='keyword1'
GROUP BY DATE(`created_at`)
这会返回一个关键字每天的文章总数。
我想要一个总数,然后将其分解并将文章分类为每个关键字的 cat1
、cat2
或 cat3
.所以给出这样的表格:
|date|keyword|articles|cat1|cat2|cat3|
虽然我似乎无法做到这一点,所以我们将不胜感激!
最佳答案
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
关于php - 按日期和值分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14521043/