Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    63

    E' normale qscomportamento?

    Salve a tutti,
    è normale che una query con la funzione GROUP si comporti cosi?

    TABELLA

    ID| ID1 | CAMPO1 | NUMERO
    ---------------------------
    1|1|AA|40
    2|2|BB|30
    3|1|CC|20
    4|2|DD|10
    5|2|EE|50

    QUERY

    SELECT
    z_prova.ID1,
    Min(z_prova.NUMERO) AS `MIN`
    FROM
    z_prova
    GROUP BY
    z_prova.ID1

    RISULTATO
    1|AA|10
    2|BB|30

    In pratica la riga 4 della tabella non è la stessa funziona solo la colonna col MIN le altre rimangono intatte

    E' Normale???? Se si come faccio ad avere tutte le righe intatte?

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Si, e' normale.
    Nello standard SQL una query del genere sarebbe illegale.

    Tra l'altro, il tuo risultato non rispecchia la tua query, avrai sbagliato qualcosa con copia/incolla.

    Comunque, puoi fare cosi:
    codice:
    select id1,campo1, numero min from z_prova where numero in (select min(numero) from z_prova group by id1)
    o se proprio vuoi divertirti con le estensioni non standard di mysql:
    codice:
    select id1,substring_index(group_concat(campo1 order by numero asc),',',1) campo1,min(numero) min from z_prova group by id1

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    63
    Ti ringrazio tantissimo era quello che cercavo..... in pratica se ho ben capito, hai fatto il select con il min ricavato da una subquery?

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Si, l'idea e' quella.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.