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

    Ordinamento arbitrario di record. Come fare?

    Supponiamo che si voglia ottenere una certa selezione di record, con un ordinamento arbitrario scelto dall'utente. Ad esempio, i record con ID da 1 a 10 li voglio in quest'ordine:
    9, 6, 5, 8, 1, 2, 3, 4, 10, 7
    Suppongo che con una query non si possa fare (ma accetto volentieri smentite), qualche consiglio su come implementare la cosa in maniera non troppo pesante?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select * from tabella order by field(id,9, 6, 5, 8, 1, 2, 3, 4, 10, 7)

  3. #3
    Giusto! FIELD(). Nel caso in cui l'ordinamento sia parzialmente specificato (del tipo: prima mi dai 3, 56, 23, 48 e poi tutti gli altri), bisogna mettere i numeri in ordine inverso e usare DESC, perché a quelli non specificati FIELD() assegna 0 e con ASC verrebbero prima, ma non è un problema.

    Grazie 1000.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non ci credo. Io che do una dritta a te. Il mondo sta andando a rotoli.


  5. #5
    L'allievo DEVE superare il maestro
    (io son maestro di 'sta cippa, vabbè, ma la frase suonava bene )

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.