我在创建数据透视表时遇到问题,但首先这是我所有带有集合的数据结构:https://pastebin.com/LiLHAMqs
我必须创建sql才能在此format中获取数据。
我必须使用数据透视。
在统计每组中有多少只性别相同的猫时,我有问题。
这是我的SQL查询
AMP HTML
答案 0 :(得分:1)
您可以使用count over partition
并指定名称(nazwa
)和类型(plec
),如下所示:
SELECT "Banda",
"Plec",
"Ile",
NVL(SZEFUNIO, 0) as SZEFUNIO,
NVL(BANDZIOR, 0) AS BANDZIOR,
NVL(LOWCZY, 0) AS LOWCZY,
NVL(LAPACZ, 0) AS LAPACZ,
NVL(KOT, 0) AS KOT,
NVL(MILUSIA, 0) AS MILUSIA,
NVL(DZIELCZY, 0) AS DZIELCZY,
(NVL(SZEFUNIO, 0) + NVL(BANDZIOR, 0) + NVL(LOWCZY, 0) +
NVL(LAPACZ, 0) + NVL(KOT, 0) + NVL(MILUSIA, 0) + NVL(DZIELCZY, 0)) as Suma
FROM (SELECT b.nazwa "Banda",
count(*) over (partition by b.nazwa, k.plec) as "Ile",
funkcja "Funkcja",
plec "Plec",
przydzial_myszy "przydzial",
NVL(myszy_extra, 0) "myszy_extra"
FROM Kocury k
join Bandy b
on b.numer_bandy = k.nr_bandy)
PIVOT(sum("przydzial" + NVL("myszy_extra", 0))
for "Funkcja" in('SZEFUNIO' as SZEFUNIO,
'BANDZIOR' AS BANDZIOR,
'LOWCZY' AS LOWCZY,
'LAPACZ' AS LAPACZ,
'KOT' AS KOT,
'MILUSIA' AS MILUSIA,
'DZIELCZY' AS DZIELCZY))
order by "Banda", "Ile";