Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [MYSQL] ORDER BY numero WHERE id=non_lo_so

    Ciao, io ho una tabella coi seguenti campi...
    id idmess numero name

    e diciamo con questi valori...

    id idmess numero name
    1 1 1 ciao
    1 2 3 ciao2
    1 4 7 ciao6
    2 1 2 ciao3
    2 2 4 ciao4
    3 1 0 ciao5
    4 1 9 ciao7
    4 2 3 ciao8

    e vorrei fare selezionare il campo 'name' dove l''idmess' è 1 ordinato per il valore del campo 'numero' nel rispettivo 'id'...

    cioè...
    lui ordina i risultati secondo numero... prende solo una volta per id il campo name dell'idmess 1

    in questo caso dovrebbe fare

    ciao7
    ciao
    ciao3
    ciao5

    qualche idea? (sperando che si sia capito qualcosa...)
    visitate http://camicio.altervista.org per caxxate varie :d

  2. #2
    select name from tabella where idmess = 1 order by numero

    ma, ordinando per numero, così dovrebbe uscire
    ciao5
    ciao
    ciao3
    ciao7

    perché numero di ciao7 è 9

  3. #3
    ma con il where idmess=1 non prende il valore di numero dove idmess = 1?
    io voglio che per l'order by prende il valore di numero nel più alto valore di numero tra tutti gli idmess di quell'id...
    visitate http://camicio.altervista.org per caxxate varie :d

  4. #4
    order by numero desc ?

    Mi sa che non ci stiamo capendo

  5. #5
    sì è desc... però non è quello il fatto principale
    il fatto è che mettendo
    order by numero desc where idmess=1
    lui si prende il valore di numero dove idmess=1...

    quindi avrà

    1
    2
    0
    9

    da riordinare..

    invece io vorrei che si prendesse altri valori...
    cioè il valore di numero nel più alto valore di numero tra tutti gli idmess di quell'id...

    in pratica dovrebbe avere


    7 (id=1)
    4 (id=2)
    0 (id=3)
    9 (id=4)

    lo dicevo che non si capiva.. .:d
    visitate http://camicio.altervista.org per caxxate varie :d

  6. #6
    invece io vorrei che si prendesse altri valori...
    cioè il valore di numero nel più alto valore di numero tra tutti gli idmess di quell'id...
    Sicuramente potrebbe stare nelle pagine della settimana enigmistica.

    Vediamo se ho capito.

    ci sono piu' id identici associati a piu' idmess . quindi l'univocita' di un dato e' rappresentata da id+idmess. Tu vuoi recuperare per ogni id, il valore piu' alto presente nella colonna numero. Quindi idmess c'entra un puffo buffo.

    SELECT *, MAX(numero) AS num
    FROM tabella
    GROUP BY id
    ORDER BY id DESC

    il dato numero lo trovi nell'alias num.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    SELECT DISTINCT idmess, numero, nome FROM tabella ORDER BY numero ASC

    questo intendi?
    ... :master: riconosco l'esistenza di un limite a tutto , ma non l'accetto ...

  8. #8
    Ecco siccome si tratta di un'ENIGMA voglio sparare anche la mia:
    codice:
    SELECT non so proprio cosa vuoi fare WHERE
    spiegati_meglio=non_sai_di_cosa_si_sta_parlando???
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  9. #9
    SELECT *, MAX(numero) AS num
    FROM tabella
    GROUP BY id
    ORDER BY id DESC

    questo di piero.mac è il migliore... però, a parte il fatto che è ORDER BY num DESC , facendo così lui prende il campo name non solo dove idmess = 1 ma anche dove idmess!=1... e mettendo dentro WHERE idmess=1 non funziona più visto che guarda il valore di numero non in tutta la colonna dove l'id è uguale ma solo dove l'id è n e l'idmess è 1...

    SELECT *, MAX(numero) AS num
    FROM tabella
    GROUP BY id
    ORDER BY num DESC

    dite che mi converrebbe di piÙ stampare i risultati solo se idmess è 1 ma fare la query che mi prende tutti i risultati (quella qua sopra)?

    ciao e grazie
    visitate http://camicio.altervista.org per caxxate varie :d

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.