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的形式提供样本数据和期望的结果,它可能会有帮助。。。