N riga di GROUP BY?

di il
4 risposte

N riga di GROUP BY?

Ciao a tutti
Eseguendo nella query GROUP BY mi estrapola la prima riga del gruppo...
Come faccio a estrapolare la N riga con GROUP BY, oppure l'ultima?
Grazie

4 Risposte

  • Re: N riga di GROUP BY?

    Puoi spiegarti meglio, magari postando anche la query?
    Parli di GROUP BY, che è una clausola che si usa quando si ha a che fare con le funzioni di aggregazione, ma non si capisce cosa tu stia cercando di fare.
  • Re: N riga di GROUP BY?

    Ho ad esempio 2 colonne: ID, foto
    ID - foto
    a - 1.jpg
    a - 2.jpg
    a - 3.jpg
    b - 1.jpg
    b - 2.jpg

    Se io faccio SELECT * tabella GROUP BY ID
    mi tirerà fuori solamente
    a - 1.jpg
    b - 1.jpg
    mentre a me piacerebbe decidere quale di a e quale di b estrarre...
    oppure estrarre l'ultima di a e l'ultima di b
    oppure estrarre in base ad una condizione...

    ma non lo so se sono possibili queste cose, perché dal manuale credo di non trovare nessuna funzionalità in più di GROUP BY
  • Re: N riga di GROUP BY?

    Stai usando la GROUP BY in modo improprio. La GROUP BY non serve a quello. Serve a raggruppare i dati quando si usano le funzioni di aggregazione.
    Per estrarre una particolare riga di una tabella si usa la parola chiave LIMIT che può prendere 1 o 2 parametri:
    
    SELECT <columns>
    FROM <table>
    WHERE <conditions>
    ORDER BY <columns>
    LIMIT [<offset>], <rowcount>
    
    offset è l'indice della riga da cui partire (0-based, ovvero la prima riga ha indice 0, la seconda 1, ecc); può essere omesso, nel qual caso verrà assunto 0, ovvero la prima riga.
    rowcount è il numero di righe (a partire da offset) da estrarre.

    Se vuoi, per esempio, estrarre l'ultima riga devi per prima cosa decidere cosa significa "l'ultima riga", ovvero decidere l'ordinamento delle righe. Deciso l'ordinamento, lo inverti ed estrai la prima: LIMIT 1.
  • Re: N riga di GROUP BY?

    Non ho capito... Come id hai n record col valore a ed m record col valore b?
    Group puoi farlo solo su valori uguali, il che esclude l'id che ha un valore unico..
Devi accedere o registrarti per scrivere nel forum
4 risposte