2017-06-27 7 views
-1

Ich versuche, die Benutzer, die auf Websites zugreifen in stündlichen Bericht an einem Tag abrufen.Wie schreibe ich komplexe Group by Klausel in SQL-Server

versucht, mit mehreren Optionen, könnte jede Stelle vorschlagen, diese Abfrage zu erreichen

enter image description here

Erwartetes Ergebnis: denken enter image description here

+1

was genau Sie sind mit dem Problem konfrontiert. Können Sie Ihre versuchte Abfrage posten – mohan111

+0

Ja, können Sie eine Stichprobe von Daten zusammensetzen, die Sie gerne von Ihrer Anfrage zurückgeben möchten? – EvalKeneval

+1

Lassen wir Ihr erwartetes Ergebnis sehen? –

Antwort

0

ich Sie so etwas wie dies versuchen:

SELECT USERNAME, CONVERT(VARCHAR(12), STARTTIME,102) AS DDAY, DATEPART(hh, STARTTIME) DHOUR, COUNT(*) AS RC 
FROM YOURTABLE 
GROUP BY USERNAME, CONVERT(VARCHAR(12), STARTTIME,102), DATEPART(hh, STARTTIME) 

Beispieldaten:

USERNAME STARTTIME 
aaa 2017-06-26 01:00:00.000 
aaa 2017-06-26 01:10:00.000 
bbb 2017-06-26 02:00:00.000 
aaa 2017-06-26 02:10:00.000 

Ausgang:

USERNAME DDAY DHOUR RC 
aaa 2017.06.26 1 2 
aaa 2017.06.26 2 1 
bbb 2017.06.26 2 1 
0

Nur ausgewählte Benutzer nach dem Starttime Feld.

select DISTINCT(UserName) from YourTable 
where TO_DATE(startTime, 'YYYY-MM-DD') = TO_DATE(sysdate , 'YYYY-MM-DD'); 

Diese Abfrage gibt Ihnen alle Benutzer zurück, die am aktuellen Tag auf Ihrer Website eingegeben wurden.

Sie sollten sich einige SQL-Lektionen ansehen, es ist nicht so schwer. Verwenden Sie Onkel google mein Freund :). Sie können sich die Seite ansehen: https://www.w3schools.com.

Ich hoffe, dass es Ihnen helfen wird.

Verwandte Themen