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

Frage Entwicklung Datenbanken

GELÖST

SQL (PostgreSQL): Gruppenweise ein LIMIT festlegen

Mitglied: thomas345

thomas345 (Level 1) - Jetzt verbinden

16.12.2013 um 17:33 Uhr, 1382 Aufrufe, 1 Kommentar

Hallo,

ich habe Daten wie diese:

id | x
1 | a
3 | a
4 | b
5 | a
6 | b
10 | c
11 | b
12 | c
13 | d

Hiervon möchte ich die id's haben, aber nur maximal zwei (oder eine definierte andere Anzahl) pro Wert in Spalte x. Welche id's pro Spalte x Wert selektiert wird, soll zufällig sein (bei normalen Abfragen mit LIMIT gibt die Datenbank gewöhnlich das selbe Ergebnis zurück, das ist aber nicht gewollt)

Beispiel für ein gültiges Ergebnis:

id
1
3
4
6
10
12
13

aber auch das hier wäre gültig:

id
3
5
6
11
10
12
13

Was ich bisher rausgefunden habe ist, dass ich mit random() und einem LIMIT die Sortierung und das LIMIT angeben kann. Hier habe ich aber das Problem, dass das LIMIT für die gesamte Abfrage gilt, und nicht für jeden einzelnen Wert der Spalte x.

Alle ids, deren Spalte x Wert maximal 2 mal vorkommt kann ich einfach selektieren, komme aber bei dem zu limitierenden Teil nicht weiter.

Für Lösungshinweise wäre ich dankbar.

MfG

Thomas

Mitglied: thomas345
18.12.2013 um 22:54 Uhr
Hallo,

falls es jemanden interessiert, eine Lösung kann so aussehen:

select x, id from (select x, id, row_number() over (partition by x order by random()) from thomas) foo where row_number <= 2
Bitte warten ..
Ähnliche Inhalte
Windows Server
SQL Server Problem mit Limit 10GB
Frage von cubecubeWindows Server6 Kommentare

Hallo zusammen , mein Aufgaben gebiet liegt Normal im Linux Bereich nun habe ich jedoch mit windows zu tun ...

PHP
Frage zu postgresql sql Abfrage auf Datum in Textform
gelöst Frage von didi60PHP4 Kommentare

Guten Tag, in einer Tabelle ist ein Datum in einem Textfeld in der Form '20.07.2016' hinterlegt . Ich würde ...

Windows Server
Datev RW und SQL-Server: Rechner am Limit
Frage von diwaffmWindows Server9 Kommentare

Hi Leute, bei einem Kunden läuft Datev als Einzelplatz-System auf einem Desktop-PC (i5, 16GB RAM, 1TB HDD). Wegen der ...

Debian
Debian Wheezy Postgresql installation
gelöst Frage von Thomas91Debian5 Kommentare

Hallo zusammen, ich habe Debian Wheezy installiert um darauf openz zu installieren. Nun möchte ich für die Software openz ...

Neue Wissensbeiträge
Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 13 MinutenMicrosoft

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...