Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL GROUP BY Convert Datetime

Frage Entwicklung

Mitglied: StfnCstr

StfnCstr (Level 1) - Jetzt verbinden

21.08.2014, aktualisiert 22.08.2014, 945 Aufrufe, 4 Kommentare

Hallo Zusammen,

ich sitze schon seit gefühlten Stunden an nem Script, ist wahrscheinlich sehr simpel, jedoch seh ich den Wald vor lauter Bäumen nicht.

Im Grunde will ich Zeiten in Tage zusammenfassen. Die Tabelle gibt werte vor wie z.B.

ACD Connected 2014-08-12 18:31:14.130
ACD Connected 2014-08-12 18:40:37.640
ACD Connected 2014-08-13 09:24:38.240
ACD Connected 2014-08-13 09:26:17.947



Ich möchte eine Ausgabe nach Tagen zusammenfasst.

ACD Connected 2014-08-12
ACD Connected 2014-08-13


Ich habs schon Convertiert [ Convert(varchar(10), Datum, 104) ] Wenn ich es jedoch per Group by zusammenfassen möchte, funktioniert dies nicht. Des weiteren kriege ich kein Ergebnis wenn ich nach "12.08.2014" suche.

Ich hoffe ihr habt eine Idee.

Grüße
Stefan
Mitglied: emeriks
21.08.2014, aktualisiert um 16:02 Uhr
Hi,
nen bisschen Codezeile wäre schon hilfreich.
E.
Bitte warten ..
Mitglied: StfnCstr
21.08.2014 um 16:03 Uhr
Hallo,

Könnte so aussehen

SELECT b.Name
,a.Action
,Convert(varchar(10), a.PhoneCallStart , 104)
FROM dbo.Skills b
,dbo.ReportInboundCallTracking a
Where a.SkillID = b.ID and Action = 'Connected' and b.Name = 'ACD-Zentrale'
GROUP BY b.Name, a.Action, a.PhoneCallStart
Bitte warten ..
Mitglied: emeriks
21.08.2014 um 17:17 Uhr
Was für ein SQL Server ist denn dahinter?
In MSSQL würde ich jetzt der Spalte mit den konvertierten Werten explit einen Namen zu geben um dann darüber zu gruppieren.
Also etwa so:

01.
SELECT	b.Name, a.Action, Convert(varchar(10), a.PhoneCallStart , 104) as PCS 
02.
FROM	dbo.Skills b,dbo.ReportInboundCallTracking a 
03.
WHERE   a.SkillID = b.ID and Action = 'Connected' and b.Name = 'ACD-Zentrale' 
04.
GROUP BY b.Name, a.Action, PCS
E.
Bitte warten ..
Mitglied: Biber
21.08.2014, aktualisiert 29.08.2014
Moin StfnCstr,

ausgehend von deinem Statement entweder:
01.
SELECT b.Name 
02.
, a.Action 
03.
, Convert(varchar(10), a.PhoneCallStart , 104), Count(b.Name) as Anzahl 
04.
FROM dbo.Skills b 
05.
,dbo.ReportInboundCallTracking a 
06.
Where a.SkillID = b.ID and Action = 'Connected' and b.Name = 'ACD-Zentrale' 
07.
GROUP BY b.Name, a.Action, Convert(varchar(10), a.PhoneCallStart , 104)
- oder-
01.
SELECT Name, Action PhoneCallDay, Count(*) as Anzahl 
02.
FROM (  
03.
    SELECT b.Name, a.Action 
04.
                , Convert(varchar(10), a.PhoneCallStart , 104) as PhoneCallDay 
05.
    FROM dbo.Skills b 
06.
            , dbo.ReportInboundCallTracking a 
07.
   WHERE a.SkillID = b.ID and Action = 'Connected' and b.Name = 'ACD-Zentrale' 
08.
) x 
09.
 
10.
GROUP BY Name, Action, PhoneCallDay
Den vergebenen Aliasnamen für eine Spalte schon im GROUP BY zu erkennen... das können nur modernere Datenbanken.
Glaube nicht, dass MSSQL das kann.

Anmerkung:das ", Convert(varchar(10), a.PhoneCallStart , 104)" ist eigentlich eine Konvertierung rein zu Display/Reportingzwecken.
Schnell ist diese Konvertierung nicht und zum Sortieren ungeeignet.
Ich würde das GROUP BY nach
01.
 .... 
02.
  SELECT .... 
03.
   , CAST( FLOOR( CAST( a.PhoneCallStart AS FLOAT ) ) AS DATETIME) as AnrufTach
...machen und diesen "Anruftach" dann mit CONVERT(..) optisch aufhybschen.

Bei dieser Mimik wird aus zb "2014-08-13 09:26:17.947" ein "2014-08-13 00:00:00.000" (also der Tag ohne Std/Min/Sek), aber es nach wie vor ein Datumstyp datetime, was für die Sortierung(sgeschwindigkeit) relevant ist. Und bei vielen Daten ist es wirklich spürbar schneller.

Anmerkung 2
Wenn mit der WHERE-Bedingung wirklich schon eingeschränkt wird "Where .... Action = 'Connected' and b.Name = 'ACD-Zentrale'", dann brauchst du die Felder a.Action und b.Name weder per SELECT holen noch danach gruppieren..

Dann reicht ein ein "SELECT 'ACD-Zentrale' as Name, 'Connected' as Action, {andere Felder ] FROM ...GROUP BY..."

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MYSQL View group by (2)

Frage von schneerunzel zum Thema Datenbanken ...

Datenbanken
gelöst SQL ORDER BY und Join mit 2 Tabellen (7)

Frage von Dipps zum Thema Datenbanken ...

Batch & Shell
gelöst Bat2exe converter funktioniert nicht (11)

Frage von tobias3355 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Link: Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...

Switche und Hubs
gelöst VLAN für Gäste WLAN einrichten über FritzBox und Switch (10)

Frage von Elo-14 zum Thema Switche und Hubs ...

Windows Installation
Windows 10 neu installieren (10)

Frage von imebro zum Thema Windows Installation ...