• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 1 oktober 2026 om 11:11
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55
  • [PROJECT] Gamekeuring.nl - Hét onafhankelijke keuringsplatform voor maffiagames & RPG's!

    frio 22 september 2026 om 16:40
  • Ictscripters / Koen

    Aaron 22 september 2026 om 15:07
  • Kweekrijk - van stekje tot Imperium

    Lijno 14 september 2026 om 23:00
  • Crimora.nl

    Jeffrey.Hoekman 8 september 2026 om 18:49

Marktplaats

  • Verschillende domeinen te koop (sommige hebben website / content)

    frio 2 oktober 2026 om 14:45
  • 295 Nieuwe Domeinnamen September 2026

    shiga 1 oktober 2026 om 19:09
  • Straatbaas.eu – complete Nederlandstalige en Engelstalige online maffia-RPG

    Jeroen.G 1 oktober 2026 om 17:48

[SQL] selecteer 1 post van meerdere gebruikers uit 1 tabel

  • sjaakmans
  • 7 april 2016 om 18:28
  • sjaakmans
    Beginner
    Berichten
    40
    • 7 april 2016 om 18:28
    • #1

    Hallo,


    Ik kom er even niet uit en ik hoop dat jullie mij verder kunnen helpen.

    Ik heb op dit moment een tabel in mijn database die bestaat uit posts. Iedere post is gekoppeld aan een gebruiker. Nu wil ik per gebruiker 1 willekeurige post laten zien. Maar let op! Het moet van alle gebruikers uit die tabel zijn en het moet ook echt een willekeurige zijn, dus niet alleen de volgorde.

    Hebben jullie een idee? Ik ben al met group by aan de gang geweest maar dat schiet niet op. Ook een subquery helpt totaal niet.

    Mijn tabel ziet er uit als volgt:

    Code
    +----+------------+---------------+
    | id | profile_id | title         |
    +----+------------+---------------+
    | 1  | 1          | titel         |
    | 2  | 1          | titel 2       |
    | 3  | 2          | nog een titel |
    | 4  | 10         | laatste titel |
    +----+------------+---------------+

    Alvast bedankt!

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Luc
    Software Engineer
    Berichten
    1.986
    • 7 april 2016 om 18:36
    • #2

    Misschien iets aan order by RAND()?

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • sjaakmans
    Beginner
    Berichten
    40
    • 7 april 2016 om 18:43
    • #3

    Ja RAND() heb ik heel veel aan, maar nu nog niet ;). Ik moet namelijk van alle gebruikers in die tabel willekeurig een post hebben.

    Ik wil dus 3 rijen terug krijgen en gezien de data die ik heb gepost zou de rij van de gebruiker met id 1 af en toe moeten wijzigen (inderdaad door RAND()).

  • Thisguyisgone
    Elite members
    Berichten
    7.880
    • 7 april 2016 om 20:39
    • #4

    Je hebt alleen maar RAND nodig en een limit ;).

  • Luc
    Software Engineer
    Berichten
    1.986
    • 7 april 2016 om 21:18
    • #5

    Ik denk zoiets:

    SELECT * FROM user
    LEFT JOIN (SELECT * FROM posts where user.id=posts.profile_id GROUP BY profile_Id ORDER BY RAND() LIMIT 1) AS p ON(p.profile_id=user.id)
    GROUP BY user.id

    Niet getest, maar aan zoiets zou ik denken

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • sjaakmans
    Beginner
    Berichten
    40
    • 7 april 2016 om 21:53
    • #6

    @Ferhat.Remory, daar had ik ook al aan gedacht maar dan kom ik er niet :(

    @Luc, helaas werkt dat niet. Er wordt een veld aangeroepen in het FROM gedeelte, MySQL kan hier niet mee overweg. Dat zou wel veel problemen oplossen ;)

    Ik heb bedacht dat ik misschien maar eens moet kijken naar een MySQL functie die het regelt voor mij.

  • Luc
    Software Engineer
    Berichten
    1.986
    • 7 april 2016 om 22:09
    • #7

    Als het om een gereserveerd keyword gaat. Dan kan je overwegen om `posts` te doen bijvoorbeeld dus backticks/backquotes gebruiken bij gereserveerde sql namen.

    Verstandiger is dan om het veldnaam of tabel van naam te veranderen maar goed.

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • sjaakmans
    Beginner
    Berichten
    40
    • 8 april 2016 om 08:09
    • #8

    Nee is niet een gereserveerd keyword. Maar het komt dat je in de FROM een select wilt doen met een andere tabel die je ook aanroept in de FROM, dat werkt dus niet.

  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 9 april 2016 om 16:12
    • #9

    Even los van wat je probeert te bereiken, wat is het *nut* van deze query? Als het de laatste post van alle individuele gebruikers zou zijn zou ik dit nog enigzins snappen, maar een willekeurige?

  • Luc
    Software Engineer
    Berichten
    1.986
    • 9 april 2016 om 17:50
    • #10

    Ik ben 5 minuten voor je bezig geweest om met behulp met mijn query die ik je eerder gaf een werkende query te maken.

    Paar tips:
    1) Verwijder de where clausule, group by en limit uit de left join.
    2) Test hem nogmaals

    Dit had je natuurlijk zelf ook wel even kunnen proberen natuurlijk..

    Website: https://devimo.nl
    Skype: https://join.skype.com/invite/dJyYILTt7Eqh

  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 9 april 2016 om 20:41
    • #11

    @Luc volgens mij krijg je dan elke keer dezelfde "random" posts. Ook wordt je subquery dan nogal zwaar?

    Misschien zou je dit ook op een andere manier kunnen oplossen (caching? redundant opslaan?) maar je zou je ook kunnen afvragen wat je nou eigenlijk met zo'n query wilt...

  • sjaakmans
    Beginner
    Berichten
    40
    • 11 april 2016 om 21:53
    • #12

    Ik moet willekeurige posts weergeven op een homepagina. Maar het mag er maximaal 1 zijn per gebruiker. En die posts moeten willekeurig zijn.

    Ik heb het misschien ingewikkeld opgelost, maar heb een MySQL procedure gemaakt.

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 3 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design