sql >> Database >  >> RDS >> Mysql

Ontvang de eerste/laatste n records per groep door

Veel vereenvoudigde en gecorrigeerde Carlos-oplossing (zijn oplossing zou de eerste 5 rijen opleveren, niet de laatste...):

SELECT tB1.idA, tB1.idB, tB1.textB
FROM tableB as tB1
    JOIN tableB as tB2
        ON tB1.idA = tB2.idA AND tB1.idB <= tB2.idB
GROUP BY tB1.idA, tB1.idB
HAVING COUNT(*) <= 5

In MySQL kunt u tB1.textB . gebruiken zelfs als het is gegroepeerd per zoekopdracht, omdat je groepeert op idB in de eerste tabel, dus er is maar één waarde van tB1.textB voor elke groep...



  1. Hoe u uw MySQL- of MariaDB-database kunt beschermen tegen SQL-injectie:deel twee

  2. \r\n vervangen door PHP

  3. Fout bij het installeren van de app met mysql2 gem

  4. MayBeSQL komt naar Microsoft Access!