Ich habe ein kleines Problem. Die Daten:Zählen gruppierten Spalten und gruppieren sie über andere Spalte
2016-11-09 0536B088-D3DE-4C0E-903F-C2463D0AAB7E 2016-11-09 866D70EC-93FD-4C30-BC54-C7B954F255BE 2016-11-09 6C090D6B-9842-4CB0-9E10-F9B941C8D3A1 2016-11-09 FB1DD63E-F098-4191-B8F4-BEA4F9776B54 2016-11-09 FB1DD63E-F098-4191-B8F4-BEA4F9776B54 2016-11-10 0536B088-D3DE-4C0E-903F-C2463D0AAB7E 2016-11-10 NULL 2016-11-10 0536B088-D3DE-4C0E-903F-C2463D0AAB7E 2016-11-11 0536B088-D3DE-4C0E-903F-C2463D0AAB7E 2016-11-11 0536B088-D3DE-4C0E-903F-C2463D0AAB7E
Von ihm will ich UserId und Gruppe über Datum zählen. ich sollte wie folgt sein:
Date | Unique | Returning | New ..09 | 4 | 1 | 3 ..10 | 2 | 1 | 1 ..11 | 1 | 1 | 0
Wie kann ich es tun? Ich habe diese Abfrage.
select
cast(EventTime as date) as 'Date',
count(distinct UserId) + count(distinct case when UserId is null then 1 end) as 'Unique users',
0 as 'Returning users',
0 as 'New users'
from
TelemetryData
where
DiscountId = '5F8851DD-DF77-46DC-885E-46ECA93F021C' and EventName = 'DiscountClick'
group by
cast(EventTime as date)`
Einzigartige Benutzer = einzigartig mit NULL auch!
returing users = Benutzer-ID, die isnull(sum(case when UserId(here shoudld be count) > 1 then 1 else 0 end), 1)
Neue Benutzer mehr als 1 mal angeklickt, die nur eine angeklickt! isnull(sum(case when UserId(count also) = 1 then 1 else 0 end), 1)
@EDIT: Ok, zwei Ihrer Ergebnisse funktionieren perfekt. Aber ich muss es jetzt mit anderen Abfragen integrieren. SELECT '5F8851DD-DF77-46DC-885E-46ECA93F021C', cast([dbo].[TelemetryData].[EventTime] as date) as 'Date', sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountLike' then 1 else 0 end) as 'Likes', sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountDislike' then 1 else 0 end) as 'Dis likes', sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountSharing' then 1 else 0 end) as 'Shares', SUM(case when [dbo].[TelemetryData].[EventName]='DiscountView' then 1 else 0 end) as 'Views', SUM(case when [dbo].[TelemetryData].[EventName]='DiscountClick' then 1 else 0 end) as 'Clicks', Sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountCode' then 1 else 0 end) as 'Downloaded codes', Sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountSave' then 1 else 0 end) as 'Saves', sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountClickWWW' then 1 else 0 end) as 'Page redirections', Round( cast(Sum(case when [dbo].[TelemetryData].[EventName]='DiscountClick' then 1 else 0 end) as float) / cast( case when SUM(case when [dbo].[TelemetryData].[EventName]='DiscountView' then 1 else 0 end) = 0 then 1 else SUM(case when [dbo].[TelemetryData].[EventName]='DiscountView' then 1 else 0 end) end as float) * 100, 2) as 'Average CTR', 0 as 'Unique users', 0 as 'New users', 0 as 'Returning users', Sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountCommentPositive' then 1 else 0 end) as 'Positive comments', sum(case when [dbo].[TelemetryData].[EventName] = 'DiscountCommentNegative' then 1 else 0 end) as 'Negative comments' from [dbo].[TelemetryData] where [dbo].[TelemetryData].[DiscountId] = '5F8851DD-DF77-46DC-885E-46ECA93F021C' and ([dbo].[TelemetryData].[EventName] = 'DiscountView' or [dbo].[TelemetryData].[EventName] = 'DiscountClick' or [dbo].[TelemetryData].[EventName] = 'DiscountDislike' or [dbo].[TelemetryData].[EventName] = 'DiscountCode' or [dbo].[TelemetryData].[EventName] = 'DiscountLike' or [dbo].[TelemetryData].[EventName] = 'DiscountSharing' or [dbo].[TelemetryData].[EventName] = 'DiscountClickWWW' or [dbo].[TelemetryData].[EventName] = 'DiscountSave' or [dbo].[TelemetryData].[EventName] = 'DiscountCommentPositive' or [dbo].[TelemetryData].[EventName] = 'DiscountCommentNegative') group by cast([dbo].[TelemetryData].[EventTime] as date) order by cast([dbo].[TelemetryData].[EventTime] as date) asc
Jetzt wird es schwer sein ...
Ihre Beispieldaten haben zwei Spalten (welche?), Aber Ihre Abfrage verweist auf mindestens 3 Spalten. – jarlh
Welches DBMS benutzen Sie? –
Daten haben mehr Spalten, aber ich brauche olny operieren auf diesen beiden. Daten und Benutzer-ID. – Nerf