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

    Ordinamento casuale condizionato al valore di un parametro

    Buongiorno a tutti:

    Ho una tabella in mysql composta da diverse colonne. Quelle che mi interessano sono 3:
    tipo, data, ora. Tipo può avere due valori: si / no.

    Io ho bisogno di estrarre una query in cui il primo ordine è dato dal tipo, ma se il tipo ha valore "si" l'ordinamento è random, altrimenti si ordina per data e ora.

    Attualmente uso questa che però non ha il random:

    codice:
    select * from tabella order by tipo DESC, data DESC, ora DESC
    Con questa query mi fa un ordine del tipo:
    id | tipo | data | ora
    1 | si | xx | xx
    2 | si | xx | xx
    3 | si | xx | xx
    4 | no | xx | xx
    5 | no | xx | xx

    Quello che vorrei è che i primi 3 record che hanno tipo "si" vengano ordinati random, mentre quelli che hanno tipo no vengano ordinati come data e ora.

    Sperando di esser stato chiaro ringrazio subito chi mi può dare una mano.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Non credo sia possibile.. secondo me dovresti fare una query per tipo (si / no) con l'ordine random o per tipo e poi fare un array_merge dei risultati

  3. #3
    Quella è la soluzione finale però volevo vedere se era possibile qualcosa tipo una subquery o qualcosa di simile.

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.