为什么我的SQL语法显示null?

为什么我的SQL语法显示null?,sql,postgresql,aggregate,Sql,Postgresql,Aggregate,我不太明白为什么我的这个语句的结果在项目ID中显示为null。我看了下面的帖子,尝试了内部连接,但是结果是徒劳的,与左连接的结果一样。我只有两个不同的项目ID。出于某种奇怪的原因,名称再次声明,并从前面的列表中添加了计数。它为什么要这样做?我怎样才能解决这个问题?请提供您的建议 结果: Name Count Maximum Hours Worked Maximum Salary Project_ID Hulk Hogan

我不太明白为什么我的这个语句的结果在项目ID中显示为null。我看了下面的帖子,尝试了
内部连接
,但是结果是徒劳的,与
左连接
的结果一样。我只有两个不同的项目ID。出于某种奇怪的原因,
名称
再次声明,并从前面的列表中添加了
计数
。它为什么要这样做?我怎样才能解决这个问题?请提供您的建议

结果:

       Name             Count    Maximum Hours Worked  Maximum Salary  Project_ID
Hulk Hogan              157           3,500             $432,995.00     LFC
Hulk Hogan              43            3,499             $550,000.00     PCR
Hulk Hogan              200           3,500             $550,000.00   (null)
Andre the Giant         42            5,300             $870,000.00     PCR
Andre the Giant         42            5,300             $870,000.00   (null)
Bret Hart                5            3,675             $512,000.00     LFC
Bret Hart               10            4,193             $716,510.00     PCR
Bret Hart               15            4,193             $716,510.00   (null)
Winnie the Pooh         561           5,600             $929,654.00     PCR
Winnie the Pooh         561           5,600             $929,654.00   (null)
                        1000          5,600             $929,654.00   (null)


它来自
汇总
——它将您的聚合应用于
名称
项目Id
的每个分组,作为一个摘要。因此,您可以从工作时数和工资中获得该组的总计
计数
最大值
记录。最后一条记录是整个集合的摘要。如果我删除
汇总
,它将不会为我提供每个列的总数。那么,为该语句的所有列添加总计的最可行方法是什么?不幸的是,我对postgres语法了解不够,无法回答如何筛选出子分组。没有问题@Siyual。我们都在这里互相学习……您的查询不会生成名为
Project\u Id
的列,因此查询不会生成指定的结果。
       Name             Count    Maximum Hours Worked  Maximum Salary  Project_ID
Hulk Hogan              157           3,500             $432,995.00     LFC
Hulk Hogan              43            3,499             $550,000.00     PCR
Hulk Hogan              200           3,500             $550,000.00   (null)
Andre the Giant         42            5,300             $870,000.00     PCR
Andre the Giant         42            5,300             $870,000.00   (null)
Bret Hart                5            3,675             $512,000.00     LFC
Bret Hart               10            4,193             $716,510.00     PCR
Bret Hart               15            4,193             $716,510.00   (null)
Winnie the Pooh         561           5,600             $929,654.00     PCR
Winnie the Pooh         561           5,600             $929,654.00   (null)
                        1000          5,600             $929,654.00   (null)
select
    dp.Name,count(dp."Name") Count,
    max(to_char(ft."Hours",'9,999')) "Maximum Hours Worked",
    max(ft."Salary"::money) "Maximum Salary",
    ft."Project_ID"
from
    facttable ft
    left join
    alldatainput dp on dp."alldatainputpk" = ft."alldatainputfk"
group by grouping sets ((dp."Name",ft."Project_ID"), ())