mysql select - 当列不存在时,select AVG() 查询不返回

标签 mysql select group-by average

我正在尝试使用 percetaje 平均值进行选择。这些是我的表:

tb_module

ID_MOD                   MODULE                   ID_PR
  1                     Module 1                    1
  2                     Module 2                    1
  3                     Module 3                    2

tb_activity

ID_ACT                 ID_MOD                    ACTIVITY
   1                      1                     Activity 1.1
   2                      1                     Activity 1.2
   3                      2                     Activity 2.1
   4                      2                     Activity 2.2

tb_percentaje

ID_PERC                ID_ACT                PERCENTAJE
   1                     1                       20
   2                     2                       10
   3                     3                       70
   4                     4                       50

我的一个QUERYS 是这样的----> WHERE ID_PRO = 1(当模块有事件时):

ID_MOD                      MODULE                      AVG(PERCENTAJE)
   1                       Module 1                          15
   2                       Module 2                          60

但是,当模块没有事件时 ------> WHERE ID_PRO = 2。查询返回 0 行。

我该如何解决这个问题?

应该是这样的,WHERE ID_PRO = 2

ID_MOD                      MODULE                      AVG(PERCENTAJE)
  3                        Module 3                          0

'0' 因为没有事件。

最佳答案

试试这个:

SELECT m.ID_MOD, m.MODULE, AVG(p.PERCENTAJE)
FROM tb_module m 
LEFT JOIN tb_activity a ON m.ID_MOD = a.ID_MOD 
LEFT JOIN tb_percentaje p ON a.ID_ACT = p.ID_ACT 
WHERE m.ID_PRO = 2
GROUP BY m.ID_MOD

关于mysql select - 当列不存在时,select AVG() 查询不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20741515/

相关文章:

MySQL:从表中快速选择N个随机行,其中列对(不是列)是唯一的

php - 使用 where 语句在多列上选择不同的值

mysql - Grails - 无法使用 Mysql 执行 SELECT WHERE

javascript - 根据状态 react 重置选择选项

c# - 使用 GroupBy 消除 List<T> 中的重复对象

python - 如何在不使用其他功能的情况下进行 GroupBy?

php - 我应该以 OOP 方式使用 PHP PDO 吗?

MYSQL更新表查询

php - 使用 Node.js 跟踪对 MySQL 表的更改

mysql - 选择...分组依据