Ich versuche, den Durchschnitt mit Hilfe von Pivot zu finden, aber nicht in der Lage, die richtige Lösung zu finden.Berechnung Durchschnitt mit Pivot
Die unten ist meine Frage:
select branch, ISNULL([11:00], 0) as [11:00],ISNULL([11:15], 0) as
[11:15],ISNULL([11:30], 0) as [11:30], ISNULL([11:45], 0) as [11:45],
ISNULL([12:00], 0) as [12:00]
from
(
select b.branchname
,convert(varchar(5), intervals.interval_start_time, 108)
,sum(b.ordercount) ordercounts
from branch b cross apply dbo.getDate15MinInterval(CAST(b.TransactionDate
as date)) as intervals
where b.TransactionDate >= interval_start_time and b.TransactionDate <=
interval_end_time
and CAST(TransactionDate AS date) IN ('2017-07-01','2017-07-08')
group by DATEPART(WEEKDAY,TransactionDate),b.branchname,intervals.interval_start_time,intervals.interval_end_time
) t
pivot (avg(ordercounts) for interval_start_time in ([11:00], [11:15] ,
[11:30], [11:45], [12:00])) as p
Meine ursprüngliche Tabelle ist:
Ergebnis aus der obigen Abfrage ist:
Erwartetes Ergebnis:
Für 15minuteinterval Abfrage, bitte meinen ursprünglichen Beitrag verweisen:
Group data by interval of 15 minutes and use cross tab
Hallo Gordon, das funktioniert nur zum Floaten. Aber ich bekomme immer noch 1 und 8 in der Ausgabe. Es sollte 0,5 und 4 sein. – Shivang