Top-Themen

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

MSSQL - GROUP BY Problem

Frage Entwicklung Datenbanken

Mitglied: FaBMiN

FaBMiN (Level 2) - Jetzt verbinden

02.02.2011 um 10:48 Uhr, 3922 Aufrufe, 3 Kommentare

Hallo Zusammen,

ich habe folgendes Problem. Mein Query

SELECT asset.objectID
, acb.AccountName
, MAX(llo.logondate)

FROM [dbo].[SPSComputerClassLogon] llo
INNER JOIN SPSAccountClassBase acb ON acb.id = llo.LoggedAccount
INNER JOIN SPSComputerClassBase comp ON llo.[Expression-ObjectID] = comp.[Expression-ObjectID]
INNER JOIN SPSAssetClassBase asset ON comp.[Expression-ObjectID] = asset.[Expression-ObjectID]

GROUP BY asset.objectid, acb.AccountName
ORDER BY asset.objectid
liefert folgende Liste

objectID AccountName (Kein Spaltenname)
CMP00001 PN00005 2011-01-28 08:12:12.000
CMP00002 PN00005 2011-01-27 06:37:19.000
CMP00003 PN00007 2011-01-26 15:50:44.000
CMP00003 PN00010 2011-01-28 14:11:09.000
CMP00003 PN00009 2011-01-27 15:02:05.000
CMP00004 PN00005 2011-01-19 13:42:10.000
CMP00005 PN00007 2011-01-27 06:58:46.000
CMP00006 PN00002 2011-01-28 08:09:45.000
Ich möchte allerdings erreichen, dass unter der ObjectID (CMP0000X) nur ein AccountName (PN0000X) angezeigt wird und zwar der mit den häufigsten LogOnDate (llo.logondate) der letzten 90Tage. Sollte das nicht möglich sein, dann der AccountName mit dem aktuellste Datum.

Kann mir da vielleicht jemand helfen?



Vielen Dank vorab und Grüße

Fabian
Mitglied: nxclass
02.02.2011 um 11:02 Uhr
dass unter der ObjectID (CMP0000X) nur ein AccountName (PN0000X)
zwar der mit den häufigsten LogOnDate (llo.logondate)
der letzten 90Tage
SELECT ... COUNT( asset.objectid ) oder meinst Du mit dem letzten LogOnDate ?
...
WHERE llo.logondate > '2011-01-01' - oder eine Berechnung von NOW() - 90 Tagen
GROUP BY acb.AccountName
...
ORDER BY COUNT( asset.objectid ) DESC
LIMIT 1;

ich kenne nur die Funktionen von MySQL - daher kann ich nicht weiter ins Detail gehen.

EDIT:
oder GROUP BY so belassen und auf Limit verzichten - bin mir nicht sicher was Du als Ergebnis willst.
Bitte warten ..
Mitglied: FaBMiN
02.02.2011 um 11:16 Uhr
Hi,
zunächst vielen Dank für die Mühe =)

die Liste besteht aus Computernamen, AD-Accounts und einem Anmeldedatum. Es werden hier alle jemals angemeldeten AD-Accounts pro Computer mit einem Anmeldedatum gelistet.
Ich möchte aus dieser Liste den am häufigsten aufgeführten AD-Account pro Computer
oder den AD-Account pro Computer mit dem aktuellsten Datum

THX!
Bitte warten ..
Mitglied: MadMax
02.02.2011 um 12:39 Uhr
Hallo Fabian,

probier es mal damit:
01.
select	objectID, AccountName, logondate 
02.
from	( 
03.
	SELECT asset.objectID 
04.
	, acb.AccountName 
05.
	, MAX(llo.logondate) as logondate, 
06.
	row_number() over (partition by asset.objectID order by sum (case when datediff (d, llo.logondate, getdate()) <= 90 then 1 else 0 end) desc, max (llo.logondate) desc) as zeile 
07.
	FROM [dbo].[SPSComputerClassLogon] llo 
08.
	INNER JOIN SPSAccountClassBase acb ON acb.id = llo.LoggedAccount 
09.
	INNER JOIN SPSComputerClassBase comp ON llo.[Expression-ObjectID] = comp.[Expression-ObjectID] 
10.
	INNER JOIN SPSAssetClassBase asset ON comp.[Expression-ObjectID] = asset.[Expression-ObjectID] 
11.
	GROUP BY asset.objectid, acb.AccountName) as tmp 
12.
where	zeile = 1 
13.
ORDER BY objectid
Mit dem row_number erzeugst Du Dir die Sortierung, wie Du sie benötigst und nimmst dann immer den ersten Datensatz.

Gruß, Mad Max
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MYSQL View group by
gelöst Frage von schneerunzelDatenbanken2 Kommentare

Hallo zusammen, ich habe eine Tabelle in einer MySQL DB über die ich eine View legen möchte: Die Tabelle ...

Entwicklung
SQL GROUP BY Convert Datetime
gelöst Frage von StfnCstrEntwicklung4 Kommentare

Hallo Zusammen, ich sitze schon seit gefühlten Stunden an nem Script, ist wahrscheinlich sehr simpel, jedoch seh ich den ...

Datenbanken
SSIS - Group By und MAX von String-Spalten
gelöst Frage von batpointDatenbanken2 Kommentare

Hallo. Ich habe im SSIS eine Tabelle die ich gerne auf zwei Spalten hin gruppieren möchte. Meine Tabelle sieht ...

Datenbanken
MSSQL 2014 Problem bei Vollständigkeitsprüfung
gelöst Frage von StefanLausLDatenbanken9 Kommentare

Hallo, ich habe drei Tabellen mit folgenden Spalten: Tabelle1: Id , Laufendenummer Tabelle2: Id_Tabelle1 , Anzahl Seiten Tabelle3: AngelegtAm , Paginiernummer Jeder ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 103 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.