Table reports : id (int) catid (int) pub_date (datetime)
Table categories : id (int) parent_id (int)
我想通过 count(id) 和 catid 的 parent_id 分组来获取报告结果。
例如:
Date Count(parent_id = 1) Count(parent_id = 2) Count(parent_id = 3)
2014-02-24 2 5 8
我们应该每天只在一行中得到结果。
提前致谢。
最佳答案
如何使用以下查询 ( SQL Fiddle ):
SELECT SUM(CASE WHEN r.id = 1 THEN 1 ELSE 0 END) AS PID_1,
SUM(CASE WHEN r.id = 2 THEN 1 ELSE 0 END) AS PID_2,
SUM(CASE WHEN r.id = 3 THEN 1 ELSE 0 END) AS PID_3
FROM reports AS r
INNER JOIN categories AS c ON c.parent_id = r.id
GROUP BY r.pub_date
关于具有两个关系表的Mysql嵌套查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22148548/