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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Statement - Select TOP x - Variables Filterkriterium

Mitglied: Blu3Scr33n

Blu3Scr33n (Level 1) - Jetzt verbinden

21.10.2015 um 17:24 Uhr, 879 Aufrufe, 4 Kommentare

Hallo liebe Administratoren,

ich baue mir grade eine kleine Access-DB zusammen und bin dabei auf ein Problem gestoßen:

Ich möchte aus einer Tabelle die TOP 20 Einträge mehrerer Kategorien selektieren.
Ich habe einen Parameter, nachdem ich groupen kann, um die Top 20 Einträge herauszufinden. Dieser nennt sich "RPT_im_GJ".
Die Liste enthält zusätzlich eine Spalte mit der Informationen über Kategorie. Diese nennt sich "Sparte".
Den Sparteneintrag ziehe ich mir über einen Join-Befehl aus einer separaten Liste.

Meine Abfrage soll mir jetzt für jeden Eintrag "Sparte" jeweils die Top 20 Einträge von "RPT_im_GJ" ausgeben, sodass ich nach den Sparten filtern kann und mir nur noch die Top 20 Einträge der jeweiligen Sparte angezeigt werden.

Als Beispiel:
Meine Originalliste sieht so aus:
ID RPT_im_GJ Sparte
1 20.000 A
2 25.000 B
3 10.000 A
4 15.000 A
5 30.000 B
6 5.000 B

Meine Abfrage würde folgendes Ergebnis erzeugen (Wen ich nach den Top 2 selektieren würde):

ID RPT_im_GJ Sparte
5 30.000 B
2 25.000 B
1 20.000 A
4 15.000 A

Bisher habe ich das noch nicht geschafft und ich behelfe mir mit einem Workaround, in dem ich per Where-Clause die Sparte auswähle. Das ist allerdings mühsam, da ich ca. 50 Sparten habe und diese Query noch für mehrere Kriterien durchexerzieren müsste.

Ich würde das Problem gerne per SQL und nicht mit VBA lösen.
Gegoogelt habe ich auch schon, bin allerdings nicht zu einem passenden Ergebnis gekommen. Vielleicht liegt es aber auch nur daran, dass ich nach den falschen Schlagworten google.
Ich bitte um eure Hilfe und bin für Tipps und Ratschläge dankbar.

Beste Grüße

Blu3Scr33n
Mitglied: Safe-Virus
21.10.2015 um 21:21 Uhr
Guten Abend,

ich weiss es nicht genau wonach Sie gegoogelt haben, doch versuchen Sie nach
"select top records for each group"
zu googeln.

Hier eine interessante Lösung für das Problem:
http://code.openark.org/blog/mysql/sql-selecting-top-n-records-per-grou ...

es sind unterschiedliche Lösungen vorgeschlagen - man muss sich aber entscheiden, welche Lösung man nimmt. So richtig trivial sind sie nicht, jedoch auch keine Wissenschaft.

Ich würde es so lösen wie es hier beschireben ist:
http://stackoverflow.com/questions/16720525/how-to-select-top-3-values- ...

und zwar indem ich die Daten hier anpasse:

SELECT name, value, rn
FROM
( SELECT name, value,
ROW_NUMBER() OVER (PARTITION BY name
ORDER BY value DESC
)
AS rn
FROM t
) tmp
WHERE rn <= 3
ORDER BY name, rn ;

Viel Erfolg!
Bitte warten ..
Mitglied: Blu3Scr33n
22.10.2015 um 15:56 Uhr
Scheinbar existiert die Funktion Row_Number in Access nicht. Ich kriege nämlich ständig die Fehlermeldung: Syntax error (missing operator) in query expression 'xxx'.

Ich habe schon nach einer Lösung gegoogelt und bin fündig geworden. Row_Number Funktion in Access
Allerdings bin ich zu unfähig das Statement in die Abfrage oben reinzubasteln. Kann mir da jemand helfen?
Bitte warten ..
Mitglied: Safe-Virus
22.10.2015 um 16:19 Uhr
Es wäre echt schön, wenn Sie Ihr SQL Statement hier mitposten würden...
Bitte warten ..
Mitglied: TheJoker2305
01.07.2019 um 14:44 Uhr
Hallo,

Access kann kein "Row_Number"

BTW das aktuelle SQL wäre wirklich hilfreich.

Greetz
thejoker2305
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell + SQL Statement
gelöst Frage von mschaedler1982Batch & Shell5 Kommentare

Hallo zusammen, Ich sitze hier gerade vor einem Problem, wo ich nicht so recht weiterkomme und im Internet habe ...

Entwicklung
SQL-SELECT-Frage
gelöst Frage von MiStEntwicklung7 Kommentare

Hallo, ich versuche mich ab und an mit SQL. Und nun stehe ich vor einem kl. Problem, welches ich ...

PHP
SQL Statement als email versenden
Frage von jensgebkenPHP21 Kommentare

Hallo Gemeinschaft, habe folgendes Problem - möchte den Inhalt eines Statements in eine Email bekommen - könnt ihr mir ...

Visual Studio
C-sharp SQL Select Abfrage vergleichen
gelöst Frage von Florian86Visual Studio2 Kommentare

Hallo Zusammen, ich bin noch Neuling was c# angeht. Ich möchte ein Select auf eine DB machen und wenn ...

Datenbanken

Noob mit Problem - SQL SELECT mit Platzhalter?

gelöst Frage von nocheinnoobmehrDatenbanken23 Kommentare

Ich komme leider an einem Punkt mit einer Abfrage nicht weiter: Tabelle Werte in Spalte1 : 1 2 3 ...

Datenbanken

SQL-Statement in Excel .dqy Query - (Zeitrahmen) funktioniert nicht ?

gelöst Frage von SchelinhoDatenbanken6 Kommentare

Hallo zusammen, folgendes Thema: ich habe ein SQL-Statement mit Variablen Usereingaben, welches im PL/SQL-Developer auch tadellos funktioniert. Die Variable ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
Regelmäßige Änderungen der Passwörter erhöhen wirklich die Sicherheit?
Frage von AbstrackterSystemimperatorSicherheitsgrundlagen23 Kommentare

Guten Abend zusammen, genau die Frage stelle ich mir. Erhöht es tatsächlich den Sicherheitsfaktor, wenn die Passwörter regelmäßig geändert ...

Exchange Server
Exchange News and Announcements - Microsoft Ignite 2020
Ticker von DaniExchange Server10 Kommentare

Today we are announcing that the next versions of Exchange Server, SharePoint Server, Skype for Business Server and Project ...

LAN, WAN, Wireless
EC Geräte kommen nicht durch Firewall
gelöst Frage von newit1LAN, WAN, Wireless10 Kommentare

Hallo, habe eine Sophos Firewall im Einsatz. Dort wurde eine Regel erstellt, dass die EC Geräte auf bestimmten Ports ...

Windows Server
Server 2019 Remote Desktop Session Host zeigt Windows Server 2016 an
Frage von StickhausenerWindows Server7 Kommentare

Hallo Zusammen, ich habe das Problem das bei einem frisch installierten Server 2019 Terminalserver Probleme bei der Lizensierung auftauchen. ...

Windows Server
Bücher zu Thema Windows Server
Frage von simpsonettiWindows Server7 Kommentare

Moin, wie der Betreff schon sagt suche ich Bücher zum Thema Windows Server 2016/19 wo es speziell um das ...

Windows Server
Netzlaufwerk für RemoteApps
Frage von TheUnrealWindows Server6 Kommentare

Hallo zusammen, da ich ja aktuell noch mit dem Server spiele und ausprobiere, was ich am besten mache, kam ...

Administrator Magazin
10 | 2020 Nicht erst durch die Corona-Krise sahen sich viele Firmen damit konfrontiert, dass sich Mitarbeiter von unterschiedlichen Geräten und verschiedensten Lokationen aus anmelden. Daher sind hier neue Konzepte für das Berechtigungs- und Identitätsmanagement gefragt, die einerseits die Sicherheit erhöhen und andererseits Nutzern die nötige Flexibilität ...
Best VPN