使用COUNT进行MySQL查询并从另一个表中加入列

希曼森

我有2个具有多个字段的表。

表格1:

+--------+---+---------------+                                                  
| month  | id| VERDICT_id    |                                                  
+--------+------+------------+                                                  
| 201307 | 1 |             1 |                                                  
| 201307 | 2 |             4 |                                                  
| 201307 | 3 |             2 |                                                  
| 201307 | 4 |             2 |                                                  
| 201307 | 5 |          NULL |                                                  
| 201307 | 6 |             1 |                                                  
+--------+------+------------+

像这样,对于每个新的“月”,对于每个唯一的“ id”,都会根据表2中的值设置“ VERDICT_ID”。

表2:

+----+----------------------------------+
| id | title                            |
+----+----------------------------------+
|  1 | Passed                           |
|  2 | Failed (Component Fault)         |
|  3 | Failed (User Fault)              |
|  4 | Failed (Hardware Issue)          |
+----+----------------------------------+

我进行查询,给出以下输出

实际输出:

+--------+------------+----------+
| month  | VERDICT_id | COUNT(*) |
+--------+------------+----------+
| 201307 |          1 |        2 |
| 201307 |          2 |        2 |
| 201307 |          4 |        1 |
+--------+------------+----------+

我想要的是

+--------+------------+----------+
| month  | VERDICT_id | COUNT(*) |
+--------+------------+----------+
| 201307 |          1 |        2 |
| 201307 |          2 |        2 |
| 201307 |          3 |        0 |
| 201307 |          4 |        1 |
+--------+------------+----------+

这两个输出之间的区别是,如果一个月不存在任何VERDICT_id,那么我想将VERDICT_id和COUNT打印为“ 0”。

但是用下面的查询是不可能的。

select month,VERDICT_id, COUNT(*) FROM Table1 
where (month = 201307) AND (VERDICT_id BETWEEN 1 AND 4) GROUP BY month, VERDICT_id;

问:是否可以进行查询以将不存在的VERDICT_id和COUNT打印为“ 0”?

rs。

尝试这个

SELECT v.*, count(t.verdict_id) as cnt FROM 
(
      SELECT month, id as verdict_id 
      from 
          (SELECT DISTINCT month FROM Table1 where (month = 201307)) M , 
          verdictTable
) v
LEFT OUTER JOIN Table1 t ON v.verdict_id = t.verdict_id and v.month = t.month
GROUP BY v.verdict_id, v.month

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 MySQL 中加入两个查询以将一个查询的结果映射到另一个

来自分类Dev

MySQL-从另一个表中加入限制为1的元素

来自分类Dev

从另一个表使用count()进行SQL查询

来自分类Dev

MySQL从另一个表插入列

来自分类Dev

MySQL从另一个表插入列数据

来自分类Dev

在组排序表中加入另一个表使用第一个函数

来自分类Dev

在Postgresql中加入2表,但另一个表只会提取其列

来自分类Dev

使用另一个表中的 ID 加入和更新 MySQL 记录?

来自分类Dev

MySQL在同一个表中加入两个查询

来自分类Dev

如何使用数据透视表和FK进行另一个表的联接查询

来自分类Dev

使用另一个表中的条件从表中进行SQL查询

来自分类Dev

从另一个表匹配多个列的MYSQL导入列

来自分类Dev

MySQL查询与另一个表上的计数

来自分类Dev

从另一个表插入 Mysql 查询

来自分类Dev

MYSQL从表中选择并从另一个表中计数

来自分类Dev

如何创建执行左外部联接并从另一个表进行计数的SQL?

来自分类Dev

SQL-从另一个表中获取一列以加入此查询

来自分类Dev

MySQL:使用表中的值对另一个表进行数学运算

来自分类Dev

Laravel Eloquent 和 Mysql 加入一个表,如果另一个加入为空

来自分类Dev

使用表中一个字段的条件对mysql进行COUNT个查询

来自分类Dev

使用另一个查询的结果更新表

来自分类Dev

MySQLi:使用变量查询另一个表

来自分类Dev

在 MySql 查询中加入 3 个表

来自分类Dev

mysql插入值,并从另一个表中选择数据

来自分类Dev

如何使用另一个表中的 select count(id) 设置 LIMIT 的值 |MySQL

来自分类Dev

使用查询别名与另一个表MySQL连接

来自分类Dev

JPA Criteria API:加入另一个查询

来自分类Dev

在一个表中从另一个相关表中输入列值

来自分类Dev

在另一个相关表中的一个表中输入列值

Related 相关文章

  1. 1

    在 MySQL 中加入两个查询以将一个查询的结果映射到另一个

  2. 2

    MySQL-从另一个表中加入限制为1的元素

  3. 3

    从另一个表使用count()进行SQL查询

  4. 4

    MySQL从另一个表插入列

  5. 5

    MySQL从另一个表插入列数据

  6. 6

    在组排序表中加入另一个表使用第一个函数

  7. 7

    在Postgresql中加入2表,但另一个表只会提取其列

  8. 8

    使用另一个表中的 ID 加入和更新 MySQL 记录?

  9. 9

    MySQL在同一个表中加入两个查询

  10. 10

    如何使用数据透视表和FK进行另一个表的联接查询

  11. 11

    使用另一个表中的条件从表中进行SQL查询

  12. 12

    从另一个表匹配多个列的MYSQL导入列

  13. 13

    MySQL查询与另一个表上的计数

  14. 14

    从另一个表插入 Mysql 查询

  15. 15

    MYSQL从表中选择并从另一个表中计数

  16. 16

    如何创建执行左外部联接并从另一个表进行计数的SQL?

  17. 17

    SQL-从另一个表中获取一列以加入此查询

  18. 18

    MySQL:使用表中的值对另一个表进行数学运算

  19. 19

    Laravel Eloquent 和 Mysql 加入一个表,如果另一个加入为空

  20. 20

    使用表中一个字段的条件对mysql进行COUNT个查询

  21. 21

    使用另一个查询的结果更新表

  22. 22

    MySQLi:使用变量查询另一个表

  23. 23

    在 MySql 查询中加入 3 个表

  24. 24

    mysql插入值,并从另一个表中选择数据

  25. 25

    如何使用另一个表中的 select count(id) 设置 LIMIT 的值 |MySQL

  26. 26

    使用查询别名与另一个表MySQL连接

  27. 27

    JPA Criteria API:加入另一个查询

  28. 28

    在一个表中从另一个相关表中输入列值

  29. 29

    在另一个相关表中的一个表中输入列值

热门标签

归档