具有两个关系表的Mysql嵌套查询

标签 mysql nested

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/

相关文章:

python - python 中休假报告逻辑和函数所需的指导

java - 如何使用静态方法定义嵌套静态类,继承自 Java 中的嵌套接口(interface)?

java - 就像父类(super class)成员一样,父类(super class)构造函数是否构成子类对象状态的一部分?

PHP-CI : How to Combine 2 arrays from few tables in databases?

python - 在多个同步批处理文件完成后执行 1 个批处理文件

mongodb - 在 MongoDB 中对子文档进行排序

json - Kendo 数据网格 - 如何从嵌套的 JSON 对象设置列值?

mysql - 如何将Mysql中的查询转换为Sql中的查询

php - 如何使用 LOAD DATA LOCAL 忽略记事本中的第一行

mysql - 按空白列中的第一个字母对列进行排序