【问题标题】:Concatenate count and non grouping attribute in SQL querySQL查询中的连接计数和非分组属性
【发布时间】:2017-11-20 18:20:19
【问题描述】:

我通过在我的数据库中加入几个表来获得以下数据。我需要三列一项目计数、分组属性和“带有项目计数的属性”,我需要查询的结果为 项目 ,%complete 和 Category as
2,0,c1-1c2-1
1,25,c3-1
1,50,c4-1
数据集:

选择 a1.projectid,
a2.完成(%),
a3.类别
来自 a1
在 a1.id=a2.id 上加入 a2
在 a1.id=a3.id 上加入 a3

当查询的结果是 项目 %完成类别
A100 0 C1
A200 0 C2
A300 25 C3
A400 50 C4

然后我需要将 project 、%complete 和 Category 的计数拉为 2,0,c1-1c2-1
1,25,c3-1
1,50,c4-1
任何建议如何实现这一点。

【问题讨论】:

  • 这仍然需要大量的编辑才能理解,而且你还没有展示你尝试了什么,或者它是如何失败的。

标签: mysql sql oracle


【解决方案1】:

Oracle 中的参考示例假设您基于 %complete 进行检查:

with table1 as 
(
select 'A100' as project ,0 as complete_percent, 'C1' as category from dual
union
select 'A200', 0,'C2' from dual
union
select 'A300', 25,'C3' from dual
union
select 'A400', 50,'C4' from dual
union
select 'A500', 0,'C5' from dual
union
select 'A600', 25,'C6' from dual
union
select 'A700', 50,'C7' from dual
union
select 'A800', 60,'c8' from dual
)
select distinct count_prj,complete_percent,listagg(str) within group  (order by NULL) over (partition by complete_percent) 
from (select count(*) over (partition by complete_percent) count_prj,complete_percent,
category || '-' || count(*) over (partition by category,complete_percent) str 
from table1);

【讨论】:

  • 感谢您的意见
  • 快乐是我的 :)
猜你喜欢
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
  • 2021-12-28
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多