Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用group by选择更多列和两个计数_Sql_Oracle - Fatal编程技术网

Sql 使用group by选择更多列和两个计数

Sql 使用group by选择更多列和两个计数,sql,oracle,Sql,Oracle,我正试图找到一个解决方案,列出一个表中几乎所有的列以及由两个不同字段分组的两列的计数,我可以使用它创建两个仪表板,其中计数按实体和类型过滤 像下面这样 select c.Entity,C.Type,C.TestID,C.a,C.b,C.x,C.y,C.z, count (TESTID) as CountbyEntity, count (TESTID) as CountbyType from Testplan c group by Entity, Type 我希望在不

我正试图找到一个解决方案,列出一个表中几乎所有的列以及由两个不同字段分组的两列的计数,我可以使用它创建两个仪表板,其中计数按实体和类型过滤

像下面这样

select c.Entity,C.Type,C.TestID,C.a,C.b,C.x,C.y,C.z,
       count (TESTID) as CountbyEntity,
       count (TESTID) as CountbyType
from Testplan c group by Entity, Type
我希望在不必使用单独的SQLs的情况下,将以下两个查询包含到其余的列中

select count (TESTID) as CountbyType,Type 
from TESTPLAN 
where Type is not null 
group by Type

select count (TESTID) as CountbyEntity,Entity 
from TESTPLAN 
where Entity is not null 
group by Entity

除非我遗漏了什么,否则您应该在(分区依据)上使用
count(),而不是
groupby

select c.Entity,C.Type,C.TestID,C.a,C.b,C.x,C.y,C.z,
       count (TESTID) over(partition by Entity) as CountbyEntity,
       count (TESTID) over(partition by Type) as CountbyType
from Testplan c 

更多信息,请阅读博文。

请提供一些示例数据。
sum(条件为1,否则为0)
按类型计数2类型1 7类型2 1类型3 2类型4 2类型5按实体计数5实体1 3实体2 3实体3 2实体4 1实体5我要查找的结果类似于上述结果,如果使用分区,仪表板将显示实体1 5次。也许我需要使用单独的查询来实现这一点,因为仪表板不够复杂,无法删除重复的实体名称。谢谢你的帮助。如果你能以ddl+dml的形式提供样本数据和期望的结果,它可能会有帮助。。。