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

SQL Statement - Select TOP x - Variables Filterkriterium

Mitglied: Blu3Scr33n

Blu3Scr33n (Level 1) - Jetzt verbinden

21.10.2015 um 17:24 Uhr, 760 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 ...

Datenbanken
SQL Statement auseinandernehmen Like
gelöst Frage von H41mSh1C0RDatenbanken20 Kommentare

Hi@All, Ziel: Beim erstellen eines Reports existiert ein Feld in der eine bestimmte OU ausgewählt werden kann. Wird keine ...

Datenbanken
Select column by id ORALCE SQL
gelöst Frage von 94451Datenbanken2 Kommentare

Hallo Liebe Leut, gibt es die Möglichkeit eine Column anhand einer ID zu selekiteren? wenn ich einen Abruf mache ...

Neue Wissensbeiträge
Administrator.de Feedback
Entwicklertagebuch: Die nächste Version
Information von admtech vor 16 StundenAdministrator.de Feedback4 Kommentare

Hallo Administrator User, vielleicht haben es einige User schon mitbekommen: Wir arbeiten aktuell an einer komplett neuen Version von ...

Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 4 TagenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 4 TagenExchange Server4 Kommentare

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 4 TagenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Heiß diskutierte Inhalte
Visual Studio
Prüfen, ob Programm schon disposed wurde
Frage von MarcoBornVisual Studio17 Kommentare

Hallo Forum, ich habe in VB.NET ein Programm geschrieben, welches Word startet und dort Daten ausliest. Obwohl ich die ...

DNS
DNS Probleme nach Umstellung auf IPv6
Frage von thunderbird304DNS16 Kommentare

Hi Leute! Folgende Problematik: Umstieg von Glasfaser auf Telekom Buisiness DSL. Durch die Umstellung ist die FritzBox nun Gateway. ...

Netzwerkgrundlagen
Zukunftsicheres Heimnetzwerk aufbauen
Frage von CRO-WarriorNetzwerkgrundlagen16 Kommentare

Hallo Leute. Ich bin dabei das Haus in Kroatien zu renovieren. Da hab ich jetzt die Möglichkeit alles so ...

Windows 10
Computer stürzt beim öffnen einer Software mit einem bestimmten Domänen User ab
Frage von PhilipSysWindows 1013 Kommentare

Hallo Zusammen, ich habe momentan mit einem recht harten Problem zu kämpfen! Ein User bei uns hat das Problem ...