Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168

    [MySQL] mediana di un tot numero di campi

    Ciao ragazzi, vorrei calcolare la mediana di un tot numero di valori nome_campo alla volta.
    Supponendo di volerla calcolare per 5 valori, ho provato con il seguente codice:


    codice:
    set @attr1 = -1,@num = 1;
    SELECT id, avg(nome_campo) as mediana FROM
    (select *,@num := if(@attr1=utente, @num+1, 1) as riga, @attr1 := attr1 as i 
    from
    ( SELECT x.id, x.nome_campo 
    from nome_tabella x, nome_tabella y
    GROUP BY x.id, x.nome_campo
    HAVING SUM(SIGN(1-SIGN(IF(y.nome_campo-x.nome_campo=0 AND x.id != y.id, SIGN(x.id-y.id), y.nome_campo-x.nome_campo)))) IN (ROUND((COUNT(*))/2), ROUND((COUNT(*)+1)/2))
    ) t
    ) t2
    group by attr1, ceil (riga/5)
    Tale codice non mi dà errore, però non mi restituisce il risultato sperato ma solo la mediana di tutti i valori assunti da nome_campo nella tabella ( la suddivisione in 5 righe non viene proprio considerata). Dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Scusate l'inconveniente: involontariamente ho postato il messaggio 3 volte ( ho avuto dei problemi)

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.