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

gelöst SQL (PostgreSQL): Gruppenweise ein LIMIT festlegen

Mitglied: thomas345

thomas345 (Level 1) - Jetzt verbinden

16.12.2013 um 17:33 Uhr, 1389 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
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...