Mysql
 sql >> Database >  >> RDS >> Mysql

Ottieni i primi/ultimi n record per gruppo in base a

Soluzione Carlos molto semplificata e corretta (la sua soluzione restituirebbe le prime 5 righe, non ultime...):

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, puoi usare tB1.textB anche se è raggruppato per query, perché stai raggruppando per idB nella prima tabella, quindi c'è un solo valore di tB1.textB per ogni gruppo...