• User

    ordinare record estratti da tabella mysql

    Salve a tutti ho questo problema, sto creando una tabella in mysql dove andrò ad inserire dei prodotti per un ecommerce, in questa tabella ho il campo prezzo espresso come varchar (supponiamo non possa cambiarlo e debba lasciarlo varchar), ora vorrei realizzare una query che mi estragga i dati da questa tabella e mi permetta di elencare i prodotti dal prezzo più basso al più alto. Sto provando scrivendo la mia query tipo (select * from tabella order by prezzo asc), solo che essendo il campo prezzo tipo varchar, i prodotti non si ordinano dal prezzo più baso al più alto ma seguono altra logica. C'è un modo per risolvere l'ordinamento senza come già detto cambire il tipo di dato del campo prezzo?


  • ModSenior

    Ciao simones70,
    fai attenzione alle maiuscole...
    per quanto riguarda il problema puoi fare il casting e dopo fare l'ordinamento.


  • User

    Scusami ma non conosco questa funzione come dovrei impostare ad esempio la query.

    select * from tabella where prodotto='olio' order by prezzo asc (Sempre ricordando che prezzo è varchar) ??

    Grazie.


  • ModSenior

    Fai attenzione alle maiuscole e alla punteggiatura nei tuoi messaggi...
    Per quanto riguarda il problema, prova così:
    [php]
    select * from tabella where prodotto='olio' order by CAST(prezzo as DECIMAL(5,2)) asc
    [/php]